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