Last active
June 14, 2019 19:24
-
-
Save brentvatne/94960dacb343310b76be9cc157d90049 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import <UIKit/UIKit.h> | |
#import <UMReactNativeAdapter/UMModuleRegistryAdapter.h> | |
#import <React/RCTBridgeDelegate.h> | |
@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate> | |
@property (nonatomic, strong) UMModuleRegistryAdapter *moduleRegistryAdapter; | |
@property (nonatomic, strong) UIWindow *window; | |
@end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import "AppDelegate.h" | |
#import <React/RCTBundleURLProvider.h> | |
#import <React/RCTRootView.h> | |
#import <UMCore/UMModuleRegistry.h> | |
#import <UMReactNativeAdapter/UMNativeModulesProxy.h> | |
#import <UMReactNativeAdapter/UMModuleRegistryAdapter.h> | |
@implementation AppDelegate | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
self.moduleRegistryAdapter = [[UMModuleRegistryAdapter alloc] initWithModuleRegistryProvider:[[UMModuleRegistryProvider alloc] init]]; | |
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; | |
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"mynewbear" initialProperties:nil]; | |
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; | |
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | |
UIViewController *rootViewController = [UIViewController new]; | |
rootViewController.view = rootView; | |
self.window.rootViewController = rootViewController; | |
[self.window makeKeyAndVisible]; | |
return YES; | |
} | |
- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge | |
{ | |
NSArray<id<RCTBridgeModule>> *extraModules = [_moduleRegistryAdapter extraModulesForBridge:bridge andExperience:nil]; | |
// You can inject any extra modules that you would like here, more information at: | |
// https://facebook.github.io/react-native/docs/native-modules-ios.html#dependency-injection | |
return extraModules; | |
} | |
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { | |
#ifdef DEBUG | |
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; | |
#else | |
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | |
#endif | |
} | |
@end |
Do not forget to rename 'mynewbear' to your application name. For example: "YourApplicationName". I missed the mynewbear stuff, funny, but not helpful.
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"mynewbear" initialProperties:nil];
Becomes
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"YourApplicationName" initialProperties:nil];
Remove andExperience:nil to make it work in unimodules 0.4.1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For the:
Isn't it better to provide some experience name instead of
nil
to stay on the safe side?For example the permissions code may crash on save because of
nil
key. (Maybe it's fixed, but it was before for sure)