1diff --git a/ios/MyApp/AppDelegate.h b/ios/MyApp/AppDelegate.h 2index 9f2ede1..c3e09a4 100644 3--- a/ios/MyApp/AppDelegate.h 4+++ b/ios/MyApp/AppDelegate.h 5@@ -1,7 +1,9 @@ 6 #import <React/RCTBridgeDelegate.h> 7 #import <UIKit/UIKit.h> 8 9-@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate> 10+#import <UMCore/UMAppDelegateWrapper.h> 11+ 12+@interface AppDelegate : UMAppDelegateWrapper <UIApplicationDelegate, RCTBridgeDelegate> 13 14 @property (nonatomic, strong) UIWindow *window; 15 16diff --git a/ios/MyApp/AppDelegate.m b/ios/MyApp/AppDelegate.m 17index 9f2ede1..c3e09a4 100644 18--- a/ios/MyApp/AppDelegate.m 19+++ b/ios/MyApp/AppDelegate.m 20@@ -2,10 +2,14 @@ 21 22 #import <React/RCTBridge.h> 23 #import <React/RCTBundleURLProvider.h> 24 #import <React/RCTRootView.h> 25 26+#import <UMCore/UMModuleRegistry.h> 27+#import <UMReactNativeAdapter/UMNativeModulesProxy.h> 28+#import <UMReactNativeAdapter/UMModuleRegistryAdapter.h> 29+ 30 #ifdef FB_SONARKIT_ENABLED 31 #import <FlipperKit/FlipperClient.h> 32 #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> 33 #import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> 34 #import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h> 35@@ -21,18 +25,26 @@ static void InitializeFlipper(UIApplication *application) { 36 [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; 37 [client start]; 38 } 39 #endif 40 41+@interface AppDelegate () <RCTBridgeDelegate> 42+ 43+@property (nonatomic, strong) UMModuleRegistryAdapter *moduleRegistryAdapter; 44+ 45+@end 46+ 47 @implementation AppDelegate 48 49 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 50 { 51 #ifdef FB_SONARKIT_ENABLED 52 InitializeFlipper(application); 53 #endif 54 55+ self.moduleRegistryAdapter = [[UMModuleRegistryAdapter alloc] initWithModuleRegistryProvider:[[UMModuleRegistryProvider alloc] init]]; 56+ 57 RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; 58 RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge 59 moduleName:@"MyApp" 60 initialProperties:nil]; 61 62@@ -44,11 +56,19 @@ static void InitializeFlipper(UIApplication *application) { 63 self.window.rootViewController = rootViewController; 64 [self.window makeKeyAndVisible]; 65 66+ [super application:application didFinishLaunchingWithOptions:launchOptions]; 67 68 return YES; 69 } 70 71+- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge 72+{ 73+ NSArray<id<RCTBridgeModule>> *extraModules = [_moduleRegistryAdapter extraModulesForBridge:bridge]; 74+ // If you'd like to export some custom RCTBridgeModules that are not Expo modules, add them here! 75+ return extraModules; 76+} 77+ 78 - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge 79 { 80 #if DEBUG 81 return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; 82 #else 83 return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 84diff --git a/ios/Podfile b/ios/Podfile 85index a452872..e21468a 100644 86--- a/ios/Podfile 87+++ b/ios/Podfile 88@@ -1,11 +1,13 @@ 89-require_relative '../node_modules/react-native/scripts/react_native_pods' 90-require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 91+require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") 92+require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules") 93+require File.join(File.dirname(`node --print "require.resolve('react-native-unimodules/package.json')"`), "cocoapods") 94 95- platform :ios, '10.0' 96+ platform :ios, '11.0' 97 98 target 'MyApp' do 99+ use_unimodules! 100 config = use_native_modules! 101 102 use_react_native!(:path => config["reactNativePath"]) 103 104 target 'MyAppTests' do 105