Filter
Exclude
Time range
-
Near
This is using the latest react-native-macos (thanks @SaadNajmi) on new architecture with LegendList, react-native-enriched-markdown (thanks @G_Moskaliuk and @swmansion), and NitroModules (thanks @mrousavy and @margelo_com). Excited to clean it up and release an MVP soon!
2
44
1,409
And maybe this is what we should be doing in React Native, too. Build out systems in TypeScript, get it working well, and then switch to TurboModules (or NitroModules, ExpoModules) for the most performant version before shipping. Just thinking out loud. Giant grain of salt.
1
9
1,120
The standard fetch in React Native is a JavaScript polyfill. Every response gets parsed, decoded, and wrapped in JS before you touch it. react-native-nitro-fetch, developed by the team at Margelo, just hit its 1.0.0 milestone, a drop-in replacement for the standard Fetch API, built on the Nitro Modules core. ๐—ช๐—ต๐—ฎ๐˜'๐˜€ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐—ถ๐—ป๐—ด? React Native's built-in fetch is a spec-compliant JavaScript implementation sitting on top of the platform's native networking stack. That means every response goes through JS-side decoding, Response/Blob wrapping, and text parsing before your code sees a single byte. For small JSON payloads, it's fine, but for large responses, streaming, or anything latency-sensitive, that JS work adds up. react-native-nitro-fetch moves that pipeline into C . By leveraging Nitro's JSI-based architecture, response handling happens natively and hands off to your JavaScript with zero serialisation in between. ๐—ช๐—ต๐˜† ๐—ถ๐˜ ๐—บ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐˜€? โžก๏ธ ๐——๐—ฟ๐—ผ๐—ฝ-๐—ถ๐—ป ๐—ฅ๐—ฒ๐—ฝ๐—น๐—ฎ๐—ฐ๐—ฒ๐—บ๐—ฒ๐—ป๐˜: It follows the standard Fetch API specification, meaning you can often switch libraries just by changing your import statement without rewriting your logic. โžก๏ธ ๐—ก๐—ถ๐˜๐—ฟ๐—ผ-๐—ฃ๐—ผ๐˜„๐—ฒ๐—ฟ๐—ฒ๐—ฑ ๐—ฆ๐—ฝ๐—ฒ๐—ฒ๐—ฑ: By using C and Nitro Modules, it bypasses the traditional bottlenecks of the React Native bridge for significantly faster response parsing. โžก๏ธ ๐—ฆ๐˜๐—ฟ๐—ฒ๐—ฎ๐—บ๐—ถ๐—ป๐—ด ๐—ฆ๐˜‚๐—ฝ๐—ฝ๐—ผ๐—ฟ๐˜: It supports efficient body streaming, which is a game-changer for handling large datasets or real-time AI responses without spiking memory usage. โžก๏ธ ๐—ง๐˜†๐—ฝ๐—ฒ ๐—ฆ๐—ฎ๐—ณ๐—ฒ๐˜๐˜†: Since itโ€™s built with Nitro, it integrates seamlessly with TypeScript, ensuring that your network layer is as robust as the rest of your app. The release of ๐Ÿญ.๐Ÿฌ.๐Ÿฌ marks a shift toward making React Native networking as performant as native code. If youโ€™re building data-heavy applications or just want to shave those extra milliseconds off your load times, it's worth a look. #ReactNative #NitroModules #Networking #Performance #MobileDev #JavaScript #TypeScript #OpenSource #SoftwareEngineering #Margelo #API #WebDev
11
33
582
24,482
If you've ever tried to build a drag-and-drop grid in React Native, you know the struggle. Getting those smooth, fluid animations while items reshuffle their positions without dropping frames is a massive performance hurdle. Most solutions end up feeling "janky" because they can't handle the heavy layout calculations fast enough on the main thread. ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—ฟ๐—ฒ๐˜€๐—ต๐˜‚๐—ณ๐—ณ๐—น๐—ฒ๐—ฑ is a specialised grid layout library designed to solve exactly that. ๐—ช๐—ต๐—ฎ๐˜โ€™๐˜€ ๐—ถ๐—ป๐˜€๐—ถ๐—ฑ๐—ฒ? โžก๏ธ ๐—ก๐—ถ๐˜๐—ฟ๐—ผ-๐—ฝ๐—ผ๐˜„๐—ฒ๐—ฟ๐—ฒ๐—ฑ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ: The library now utilises ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—ป๐—ถ๐˜๐—ฟ๐—ผ-๐—บ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ๐˜€. This allows for near-instant communication between the native side and JavaScript, ensuring that complex grid reshuffling remains butter-smooth even with dozens of items. โžก๏ธ ๐—ผ๐—ป๐——๐—ฟ๐—ฎ๐—ด๐—˜๐—ป๐—ฑ ๐—ช๐—ผ๐—ฟ๐—ธ๐—น๐—ฒ๐˜ ๐—–๐—ฎ๐—น๐—น๐—ฏ๐—ฎ๐—ฐ๐—ธ๐˜€: You can now execute custom logic directly on the ๐—จ๐—œ ๐˜๐—ต๐—ฟ๐—ฒ๐—ฎ๐—ฑ when a drag interaction finishes. By using ๐˜„๐—ผ๐—ฟ๐—ธ๐—น๐—ฒ๐˜๐˜€, you bypass the asynchronous nature of the standard bridge, allowing for immediate response and state synchronisation. โžก๏ธ ๐—ข๐—ฝ๐˜๐—ถ๐—บ๐—ถ๐˜‡๐—ฒ๐—ฑ ๐—š๐—ฟ๐—ถ๐—ฑ ๐—Ÿ๐—ผ๐—ด๐—ถ๐—ฐ: The underlying reshuffling algorithm has been refined to handle dynamic item movements more predictably, eliminating the "flicker" often seen in less optimised grid libraries. ๐—ช๐—ต๐˜† ๐—ถ๐˜ ๐—บ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐˜€? The biggest challenge in mobile UI development isn't just making it look goodโ€”it's making it feel responsive. By leveraging ๐—ก๐—ถ๐˜๐—ฟ๐—ผ and ๐˜„๐—ผ๐—ฟ๐—ธ๐—น๐—ฒ๐˜๐˜€, ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—ฟ๐—ฒ๐˜€๐—ต๐˜‚๐—ณ๐—ณ๐—น๐—ฒ๐—ฑ minimises the execution time for expensive layout changes. It transforms the drag-and-drop experience from a heavy JavaScript task into a high-performance native interaction. If you're building a dashboard, a photo gallery, or a customisable home screen, this update makes ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—ฟ๐—ฒ๐˜€๐—ต๐˜‚๐—ณ๐—ณ๐—น๐—ฒ๐—ฑ one of the most performant ways to handle interactive grids in the ecosystem right now. #ReactNative #NitroModules #MobileDev #OpenSource #JavaScript #TypeScript #UIUX #GridToolkit #SoftwareEngineering #Reanimated #DeveloperTools #MobileApps
6
314
Solution: A C gRPC client shared across iOS and Android via @mrousavy's NitroModules. The entire request lifecycle, inclduing protobuf encoding, api call and response decoding, runs on a background thread. The only thing hitting JS is a JSON.parse() call.
1
2
71
Native gRPC architecture for @reactnative JS โ†’ NitroModules (thanks @mrousavy) -> Swift background thread โ†’ gRPC call โ†’ protobuf decode โ†’ JSON string โ†’ back to JS Only JSON.parse() blocks the main thread. Everything else is off-thread. Building this now. Thoughts?
2
27
2,494
Marc Rousavy continues his habit of releasing blazingly fast NitroModules-based libraries with react-native-nitro-image, which allows image manipulation without having to wait for file I/O.

30 Jun 2025
(1/5) I'm super excited to announce ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—ป๐—ถ๐˜๐—ฟ๐—ผ-๐—ถ๐—บ๐—ฎ๐—ด๐—ฒ - an all new Image component for React Native, built entirely with Nitro Views! ๐Ÿ–ผ๏ธ๐Ÿฅณ๐Ÿš€
1
3
175
9 Dec 2025
TIL in NitroModules you can just access the react application context like this on Android
25
1,643
๐—ช๐—ฎ๐—ป๐˜ ๐˜‚๐—น๐˜๐—ฟ๐—ฎโ€๐—ณ๐—ฎ๐˜€๐˜ ๐—ฑ๐—ฒ๐˜ƒ๐—ถ๐—ฐ๐—ฒ ๐—ถ๐—ป๐—ณ๐—ผ ๐—ฎ๐—ฐ๐—ฐ๐—ฒ๐˜€๐˜€ ๐—ถ๐—ป ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฅ๐—ฒ๐—ฎ๐—ฐ๐˜ ๐—ก๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฎ๐—ฝ๐—ฝ? ๐—ฆ๐—ฎ๐˜† ๐—ต๐—ฒ๐—น๐—น๐—ผ ๐˜๐—ผ ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜โ€๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒโ€๐—ป๐—ถ๐˜๐—ฟ๐—ผโ€๐—ฑ๐—ฒ๐˜ƒ๐—ถ๐—ฐ๐—ฒโ€๐—ถ๐—ป๐—ณ๐—ผ โ€” built on the new architecture of reactโ€‘nativeโ€‘nitroโ€‘modules for direct, synchronous access to native device details. ๐—ช๐—ต๐—ฎ๐˜ ๐—ถ๐˜ ๐—ฏ๐—ฟ๐—ถ๐—ป๐—ด๐˜€: โžก๏ธ Over 100 device properties, including model, brand, system version, memory/storage stats. โžก๏ธ Most APIs are synchronous now โ€” e.g., DeviceInfoModule.deviceId instead of an async call. โžก๏ธ Developerโ€‘first: full TypeScript definitions, migration path from the older reactโ€‘nativeโ€‘deviceโ€‘info. ๐—ช๐—ต๐˜† ๐˜๐—ต๐—ถ๐˜€ ๐—บ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐˜€: โžก๏ธ If your app bootstraps and immediately needs device info (before UI or JS flows), a synchronous API can simplify logic. โžก๏ธ Less overhead: no await/Promise for simple device queries. โžก๏ธ Aligns with the new architecture strategy: using JSI/JSโ€‘native interface. Do you have a use case where you need deviceโ€‘info very early (startup, native modules, heavy logic) where synchronous access gives you an advantage? #ReactNative #NitroModules #DeviceInfo #MobileDev #OpenSource #JSI #TypeScript #Performance #NativeModules #CrossPlatformDev
2
5
97
4,968
And of course NitroModules and what @mrousavy has moved forward in the community with mmkv is also very notable.
1
3
33
Ever wanted to access calendar events in a React Native app? Apple provides an API called EventKit โ€” a native framework that lets iOS apps read and write to the userโ€™s calendar and reminders. Itโ€™s used for things like: โžก๏ธ Fetching upcoming calendar events โžก๏ธ Creating and editing new events โžก๏ธ Integrating with the system calendar UI โžก๏ธ Accessing reminders or alerts Thatโ€™s where this new module comes in: react-native-nitro-event-kit brings EventKit to React Native using NitroModules โ€” the new module system designed for the modern architecture. ๐—ช๐—ต๐—ฎ๐˜โ€™๐˜€ ๐—ฎ ๐—ก๐—ถ๐˜๐—ฟ๐—ผ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ? Itโ€™s a modern way to write native modules in React Native. โžก๏ธ You define your moduleโ€™s interface in TypeScript โžก๏ธ Native bindings (Swift/Kotlin) are generated via codegen โžก๏ธ JS communicates with native code directly through JSI. ๐—ช๐—ต๐—ฎ๐˜ ๐˜๐—ต๐—ถ๐˜€ ๐—บ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ ๐—ฑ๐—ผ๐—ฒ๐˜€: โžก๏ธ Wraps Appleโ€™s EventKit framework via a NitroModule โžก๏ธ Exposes calendar access to JavaScript in a safe, typed way โžก๏ธ Can be used in apps that rely on native calendar integration โ€” booking, scheduling, reminders, productivity tools. โžก๏ธ iOS only (EventKit is not available on Android) Do you have a use case for EventKit in your app? #ReactNative #EventKit #NitroModules #NewArchitecture #MobileDev #iOSDevelopment #NativeModules #JSI #Swift #CalendarAPI #OpenSource
3
7
72
3,993
react-native-mmkv has dropped v4. ๐—œ๐˜โ€™๐˜€ ๐—ฎ ๐—ณ๐˜‚๐—น๐—น ๐—ฟ๐—ฒ๐˜„๐—ฟ๐—ถ๐˜๐—ฒ ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—ก๐—ถ๐˜๐—ฟ๐—ผ ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ๐˜€ โ€” and that brings real benefits for both performance and developer experience. If you havenโ€™t used it before, ๐— ๐— ๐—ž๐—ฉ ๐—ถ๐˜€ ๐—ฎ ๐—ต๐—ถ๐—ด๐—ต-๐—ฝ๐—ฒ๐—ฟ๐—ณ๐—ผ๐—ฟ๐—บ๐—ฎ๐—ป๐—ฐ๐—ฒ ๐—ธ๐—ฒ๐˜†/๐˜ƒ๐—ฎ๐—น๐˜‚๐—ฒ ๐˜€๐˜๐—ผ๐—ฟ๐—ฎ๐—ด๐—ฒ ๐—ฒ๐—ป๐—ด๐—ถ๐—ป๐—ฒ ๐—ฏ๐—ฎ๐˜€๐—ฒ๐—ฑ ๐—ผ๐—ป ๐—ง๐—ฒ๐—ป๐—ฐ๐—ฒ๐—ป๐˜โ€™๐˜€ ๐—– ๐—น๐—ถ๐—ฏ๐—ฟ๐—ฎ๐—ฟ๐˜† (used in WeChat). It gives you synchronous, on-device storage with near-zero overhead. ๐—ช๐—ต๐˜† ๐—ก๐—ถ๐˜๐—ฟ๐—ผ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ๐˜€ ๐—บ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ: Nitro isnโ€™t a new runtime โ€” itโ€™s a better way to define native modules in projects already using the New Architecture. Instead of writing native boilerplate in Objective-C, Java/Kotlin, or C , you define a TypeScript interface, and Nitro handles the native bindings through codegen. โžก๏ธ You get type safety, no manual registration, and modules that feel like regular JS packages โ€” but run on the same underlying system as JSI-native modules. โžก๏ธ This clarity in DX is what makes Nitro compelling โ€” especially for small utilities and widely shared packages. If youโ€™re curious, Marc Rousavyโ€™s talk โ€œThe Past, Present & Future of Nitroโ€ is a great primer. ๐—ช๐—ต๐—ฎ๐˜โ€™๐˜€ ๐—ป๐—ฒ๐˜„ ๐—ถ๐—ป ๐˜ƒ๐Ÿฐ? โžก๏ธ Fully rewritten on top of Nitro Modules. โžก๏ธ Auto-generated native bindings from a TypeScript interface โ€” no boilerplate C or ObjC. โžก๏ธ Full type safety IDE support. โžก๏ธ Still supports the Old Architecture (up to RN 0.82), thanks to Nitroโ€™s flexible build system. ๐—•๐—ฒ๐—ณ๐—ผ๐—ฟ๐—ฒ ๐˜†๐—ผ๐˜‚ ๐˜‚๐—ฝ๐—ด๐—ฟ๐—ฎ๐—ฑ๐—ฒ: โžก๏ธ Read the v4 Upgrade Guide. โžก๏ธ There are breaking changes and config updates. Are you already using MMKV in your app? #ReactNative #NitroModules #DeviceInfo #MobileDev #OpenSource #JSI #TypeScript #Performance #NativeModules #CrossPlatformDev
3
7
120
6,683
No SMS permissions. No user prompts. Just automatic OTP detection โ€” handled natively on Android. Introducing @huymobile/react-native-sms-retriever-nitro-module, a React Native library that brings Google Play Services SMS Retriever API to the new architecture โ€” built with Nitro Modules ๐Ÿ’จ. That means: โžก๏ธ No READ_SMS permission. โžก๏ธ No fake โ€œSMS accessโ€ dialogs. โžก๏ธ Automatic OTP retrieval (no permissions) โžก๏ธ React Hook API โ€” useSMSRetriever() โžก๏ธ Full TypeScript support โžก๏ธ Works with React Native 0.76 โ„น๏ธ How it works: Your app registers with the SMS Retriever API, which watches incoming messages for your appโ€™s unique hash (via getAppHash()). When a message arrives containing that hash, Google Play Services delivers the OTP straight to your app โ€” without exposing full SMS contents or needing user consent. Privacy-safe, permissionless, and fully on-device. Built with Nitro Modulesโ€” not a legacy bridge wrapper. Designed for speed, smaller JS overhead, and clean interop with the new React Native runtime. Because nobody opens an OTP text thinking, โ€œAh yes, I canโ€™t wait to type this in manually.โ€ #ReactNative #AndroidOnly #NitroModules #TurboModules #OpenSource #MobileDev #OTP #TypeScript #ReactNativeRewind #GooglePlayServices
3
7
78
4,285
I've managed to get rid of macros and wrap async/promisified JSI code in a nice way It is still more verbose compared to NitroModules or ExpoModules but so much better than what I had before while still leaving room for fine tuned control. Besides the lambda declarations it's pretty straightforward so this I will definitely keep and use
1
4
456
๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—บ๐—บ๐—ธ๐˜ƒ ๐˜ƒ๐Ÿฐ is here โ€” and as ๐— ๐—ฎ๐—ฟ๐—ฐ ๐—ฅ๐—ผ๐˜‚๐˜€๐˜€๐—ฎ๐˜ƒ๐˜† teased at React Universe Conf 2025, itโ€™s not just an update. Itโ€™s a ๐—ฟ๐—ฒ๐˜„๐—ฟ๐—ถ๐˜๐—ฒ. If you havenโ€™t used it before โ€” ๐—ฟ๐—ฒ๐—ฎ๐—ฐ๐˜-๐—ป๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ-๐—บ๐—บ๐—ธ๐˜ƒ ๐—ถ๐˜€ ๐—ฎ ๐—ฅ๐—ฒ๐—ฎ๐—ฐ๐˜ ๐—ก๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—น๐—ถ๐—ฏ๐—ฟ๐—ฎ๐—ฟ๐˜† ๐˜๐—ต๐—ฎ๐˜ ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ถ๐—ฑ๐—ฒ๐˜€ ๐—ณ๐—ฎ๐˜€๐˜, ๐˜€๐˜†๐—ป๐—ฐ๐—ต๐—ฟ๐—ผ๐—ป๐—ผ๐˜‚๐˜€ ๐—ธ๐—ฒ๐˜†-๐˜ƒ๐—ฎ๐—น๐˜‚๐—ฒ ๐˜€๐˜๐—ผ๐—ฟ๐—ฎ๐—ด๐—ฒ by wrapping Tencentโ€™s MMKV engine โ€” a native C library originally built for WeChat. ๐—จ๐—ป๐—ฑ๐—ฒ๐—ฟ ๐˜๐—ต๐—ฒ ๐—ต๐—ผ๐—ผ๐—ฑ, Tencentโ€™s MMKV stores data in memory-mapped files, giving near-instant read/write access directly from native memory. By leveraging that engine through a native bridge, react-native-mmkv avoids the JSON serialisation and asynchronous bridge calls that make AsyncStorage slower. This version marks the next major evolution of one of React Nativeโ€™s most efficient storage solutions โ€” ๐—ฟ๐—ฒ๐—ฏ๐˜‚๐—ถ๐—น๐˜ ๐—ฒ๐—ป๐˜๐—ถ๐—ฟ๐—ฒ๐—น๐˜† ๐—ผ๐—ป ๐—ก๐—ถ๐˜๐—ฟ๐—ผ ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ๐˜€. โžก๏ธ ๐—™๐˜‚๐—น๐—น ๐—ก๐—ถ๐˜๐—ฟ๐—ผ ๐—ฟ๐—ฒ๐˜„๐—ฟ๐—ถ๐˜๐—ฒ โ€” meaning faster calls, cleaner bridging, and full compatibility with the New Architecture. โžก๏ธ Works again on old architecture too (up until React Native 0.82). โžก๏ธ Uses ๐— ๐— ๐—ž๐—ฉ๐—–๐—ผ๐—ฟ๐—ฒ from CocoaPods/Gradle instead of bundling source โ€” no more duplicate symbols when mixing with native code. โžก๏ธ set(...) now throws a useful error if a value canโ€™t be saved โžก๏ธ remove(...) returns a boolean โžก๏ธ useMMKVKeys() hook added โžก๏ธ AppGroup support is back โžก๏ธ remove() and clearAllKeys() now notify listeners properly Under the hood, this version leans into the Nitro runtime, improving performance and reliability across both Android and iOS. โ„น๏ธ ๐—•๐—ฒ๐—ณ๐—ผ๐—ฟ๐—ฒ ๐˜‚๐—ฝ๐—ด๐—ฟ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ด โ€” ๐—ฟ๐—ฒ๐—ฎ๐—ฑ ๐˜๐—ต๐—ฒ ๐—ฉ๐Ÿฐ ๐—บ๐—ถ๐—ด๐—ฟ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ด๐˜‚๐—ถ๐—ฑ๐—ฒ. There are subtle but important breaking changes if you rely on older behaviours or manual native integrations. What storage solution are you using in your React Native apps right now โ€” MMKV, AsyncStorage, or something custom? ๐Ÿ‘‡ #ReactNative #MMKV #NitroModules #Performance #MobileDev #OpenSource #ReactNativeRewind #NewArchitecture #AsyncStorage #MarcRoussavy
4
9
98
7,451
React Native (New) Architecture offers many performance opportunities. Check our article by @breskin67 for tips on using: โœจ Worklets & Reanimated feature flags โšก useLayoutEffect ๐Ÿ”ง Hermes V1 ๐Ÿ”ฅ NitroModules Link in ๐Ÿงต
1
20
154
8,510
Cooking something with Yoga layout and the skia rendering engine. Basic layouting and styling is working. Next up is JSX syntax and more draw cmds. Also many thanks @mrousavy for creating NitroModules. This makes it such a joy to create native modules github.com/samuelscheit/reacโ€ฆ
1
22
3,006
Voice recording setup of my app in summary: DISASTER >Tried react-native-audio-recorder: 4.4.0, 3.5.3, 3.4.0 - all required NitroModules and didnt get it to work >Installed react-native-nitro-modules separate, got TypeScript errors >updated Pod repo a million times >Tried Expo AV but kept throwing "Cannot read property NativeModule of undefined" >Rebuilt app completely a couple times with iOS clean, same NativeModule error >Tried npx install-expo-modules@latest multiple times >Created react-native.config.js to exclude audio-recorder-player from autolinking, no go >Expo modules installation with CLI integration >Fixed react-native-community/cli-platform-ios missing module >Created PodFile with tons of different configs: hard coded relative paths, no-based resolution, Direct file paths, Expo autolinking attempts with different paths, all no go >Deintegrated Pod and reinstalled over 15 times >Removed DerivedData multiple times >Tried Swift bridging header for ExpoModulesCore >Modified AppDelegate.swift to inherit from ExpoAppDelegate >Set iOS Deployment Target to 15.1 >Tried removing use_frameworks from Podfile Final attempt was npx expo upgrade 53 for which I got "not supported in local CLI So the whole day was NO F*CKING GO lol. Let's see if we can tackle this tomorrow, spend tons of hours on this yesterday and almost 10 hours today. ๐Ÿ˜ตโ€๐Ÿ’ซ
2
5
93