Created
February 21, 2018 13:05
-
-
Save alien3d/bce2481cefaf524175d4ced5ffed6ec3 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 "AppDelegate.h" | |
#import <React/RCTBundleURLProvider.h> | |
#import <React/RCTRootView.h> | |
#import <FBSDKCoreKit/FBSDKCoreKit.h> | |
//firebase | |
#import <Firebase.h> | |
#import "RNFirebaseMessaging.h" | |
// react native navigation | |
// @link https://github.com/wix/react-native-navigation/issues/2418 | |
#import "RCCManager.h" | |
@implementation AppDelegate | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
NSURL *jsCodeLocation; | |
#ifdef DEBUG | |
// jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.bundle?platform=ios&dev=true"]; | |
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; | |
#else | |
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"yourapp" withExtension:@"jsbundle"]; | |
#endif | |
[[FBSDKApplicationDelegate sharedInstance] application:application | |
didFinishLaunchingWithOptions:launchOptions]; | |
// ********************************************** | |
// *** DON'T MISS: THIS IS HOW WE BOOTSTRAP ***** | |
// ********************************************** | |
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | |
self.window.backgroundColor = [UIColor whiteColor]; | |
[[RCCManager sharedInstance] initBridgeWithBundleURL:jsCodeLocation launchOptions:launchOptions]; | |
/** original | |
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; | |
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation | |
moduleName:@"yourappname" | |
initialProperties:nil | |
launchOptions:launchOptions]; | |
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]; | |
**/ | |
//firebase | |
[FIRApp configure]; | |
//[[UNUserNotificationCenter currentNotificationCenter] setDelegate:self]; | |
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; | |
center.delegate = self; | |
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error) | |
{ | |
if( !error ) | |
{ | |
NSLog( @"Push registration success." ); | |
} | |
else | |
{ | |
NSLog( @"Push registration FAILED" ); | |
NSLog( @"ERROR: %@ - %@", error.localizedFailureReason, error.localizedDescription ); | |
NSLog( @"SUGGESTIONS: %@ - %@", error.localizedRecoveryOptions, error.localizedRecoverySuggestion ); | |
} | |
}]; | |
return YES; | |
} | |
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo { | |
[RNFirebaseMessaging didReceiveRemoteNotification:userInfo]; | |
} | |
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo | |
fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{ | |
[RNFirebaseMessaging didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; | |
} | |
- (void)userNotificationCenter:(UNUserNotificationCenter *)center | |
willPresentNotification:(UNNotification *)notification | |
withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler { | |
[RNFirebaseMessaging willPresentNotification:notification withCompletionHandler:completionHandler]; | |
completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound); | |
} | |
- (void)userNotificationCenter:(UNUserNotificationCenter *)center | |
didReceiveNotificationResponse:(UNNotificationResponse *)response | |
withCompletionHandler:(void (^)(void))completionHandler { | |
[RNFirebaseMessaging didReceiveNotificationResponse:response withCompletionHandler:completionHandler]; | |
completionHandler(); | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment