Created
February 8, 2018 03:21
-
-
Save canhnht/9f50bc3180b57307ecedd89cdee21e1c 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
/** | |
* Copyright (c) 2015-present, Facebook, Inc. | |
* All rights reserved. | |
* | |
* This source code is licensed under the BSD-style license found in the | |
* LICENSE file in the root directory of this source tree. An additional grant | |
* of patent rights can be found in the PATENTS file in the same directory. | |
*/ | |
#import <UIKit/UIKit.h> | |
#import <Google/SignIn.h> | |
@interface AppDelegate : UIResponder <UIApplicationDelegate> | |
@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
/** | |
* Copyright (c) 2015-present, Facebook, Inc. | |
* All rights reserved. | |
* | |
* This source code is licensed under the BSD-style license found in the | |
* LICENSE file in the root directory of this source tree. An additional grant | |
* of patent rights can be found in the PATENTS file in the same directory. | |
*/ | |
#import "AppDelegate.h" | |
#import <Fabric/Fabric.h> | |
#import <Crashlytics/Crashlytics.h> | |
#import <React/RCTBundleURLProvider.h> | |
#import <React/RCTRootView.h> | |
#import "RCCManager.h" | |
#import <React/RCTLinkingManager.h> | |
// Facebook SDK Installation | |
#import <FBSDKCoreKit/FBSDKCoreKit.h> | |
#import <FBSDKLoginKit/FBSDKLoginKit.h> | |
// React Native Notifications | |
#import "RNNotifications.h" | |
@implementation AppDelegate | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
NSURL *jsCodeLocation; | |
NSError* configureError; | |
[[GGLContext sharedInstance] configureWithError: &configureError]; | |
NSAssert(!configureError, @"Error configuring Google services: %@", configureError); | |
#ifdef DEBUG | |
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; | |
#else | |
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | |
#endif | |
// Replaced by react-native-navigation | |
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | |
self.window.backgroundColor = [UIColor whiteColor]; | |
[[RCCManager sharedInstance] initBridgeWithBundleURL:jsCodeLocation launchOptions:launchOptions]; | |
[[FBSDKApplicationDelegate sharedInstance] application:application | |
didFinishLaunchingWithOptions:launchOptions]; | |
[Fabric with:@[[Crashlytics class]]]; | |
return YES; | |
} | |
- (BOOL)application:(UIApplication *)application | |
openURL:(NSURL *)url | |
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { | |
return [[FBSDKApplicationDelegate sharedInstance]application:application | |
openURL:url | |
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] | |
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]] | |
|| [[GIDSignIn sharedInstance] handleURL:url | |
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] | |
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]] | |
|| [RCTLinkingManager application:application openURL:url options:options]; | |
} | |
- (void)applicationWillResignActive:(UIApplication *)application{ | |
[FBSDKAppEvents activateApp]; | |
} | |
- (void)applicationDidBecomeActive:(UIApplication *)application { | |
[FBSDKAppEvents activateApp]; | |
} | |
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url | |
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { | |
return [[FBSDKApplicationDelegate sharedInstance] application:application | |
openURL:url | |
sourceApplication:sourceApplication | |
annotation:annotation | |
] | |
|| [[GIDSignIn sharedInstance] handleURL:url | |
sourceApplication:sourceApplication | |
annotation:annotation] | |
|| [RCTLinkingManager application:application openURL:url | |
sourceApplication:sourceApplication annotation:annotation]; | |
} | |
// Required to register for notifications | |
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings | |
{ | |
[RNNotifications didRegisterUserNotificationSettings:notificationSettings]; | |
} | |
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken | |
{ | |
[RNNotifications didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; | |
} | |
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { | |
[RNNotifications didFailToRegisterForRemoteNotificationsWithError:error]; | |
} | |
// Required for the notification event. | |
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)notification { | |
[RNNotifications didReceiveRemoteNotification:notification]; | |
} | |
// Required for the localNotification event. | |
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification | |
{ | |
[RNNotifications didReceiveLocalNotification:notification]; | |
} | |
// Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html). | |
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity | |
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler | |
{ | |
return [RCTLinkingManager application:application | |
continueUserActivity:userActivity | |
restorationHandler:restorationHandler]; | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment