2017-08-03 18:23:43 +00:00
/ * *
* 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"
2017-11-18 20:17:24 +00:00
# import < React / RCTPushNotificationManager . h >
2017-08-03 18:23:43 +00:00
# import < React / RCTBundleURLProvider . h >
# import < React / RCTRootView . h >
2017-12-20 20:12:49 +00:00
# import "SplashScreen.h"
2018-04-03 16:24:59 +00:00
# import < Fabric / Fabric . h >
# import < Crashlytics / Crashlytics . h >
2018-05-07 20:43:26 +00:00
# import < React / RCTLinkingManager . h >
2017-08-03 18:23:43 +00:00
@ implementation AppDelegate
- ( BOOL ) application : ( UIApplication * ) application didFinishLaunchingWithOptions : ( NSDictionary * ) launchOptions
{
NSURL * jsCodeLocation ;
jsCodeLocation = [ [ RCTBundleURLProvider sharedSettings ] jsBundleURLForBundleRoot : @ "index.ios" fallbackResource : nil ] ;
2017-09-21 17:08:00 +00:00
RCTRootView * rootView = [ [ RCTRootView alloc ] initWithBundleURL : jsCodeLocation
moduleName : @ "RocketChatRN"
initialProperties : nil
launchOptions : launchOptions ] ;
rootView . backgroundColor = [ [ UIColor alloc ] initWithRed : 1.0 f green : 1.0 f blue : 1.0 f alpha : 1 ] ;
2018-02-23 20:29:06 +00:00
NSString * newAgent = @ "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1" ;
NSDictionary * dictionary = [ [ NSDictionary alloc ] initWithObjectsAndKeys : newAgent , @ "UserAgent" , nil ] ;
[ [ NSUserDefaults standardUserDefaults ] registerDefaults : dictionary ] ;
2017-09-21 17:08:00 +00:00
2017-08-03 18:23:43 +00:00
self . window = [ [ UIWindow alloc ] initWithFrame : [ UIScreen mainScreen ] . bounds ] ;
2017-09-21 17:08:00 +00:00
UIViewController * rootViewController = [ UIViewController new ] ;
rootViewController . view = rootView ;
self . window . rootViewController = rootViewController ;
[ self . window makeKeyAndVisible ] ;
2017-12-20 20:12:49 +00:00
[ SplashScreen show ] ;
2018-04-03 16:24:59 +00:00
[ Fabric with : @ [ [ Crashlytics class ] ] ] ;
2017-08-03 18:23:43 +00:00
return YES ;
}
2017-11-18 20:17:24 +00:00
// Required to register for notifications
- ( void ) application : ( UIApplication * ) application didRegisterUserNotificationSettings : ( UIUserNotificationSettings * ) notificationSettings
{
[ RCTPushNotificationManager didRegisterUserNotificationSettings : notificationSettings ] ;
}
// Required for the register event .
- ( void ) application : ( UIApplication * ) application didRegisterForRemoteNotificationsWithDeviceToken : ( NSData * ) deviceToken
{
[ RCTPushNotificationManager didRegisterForRemoteNotificationsWithDeviceToken : deviceToken ] ;
}
// Required for the notification event . You must call the completion handler after handling the remote notification .
- ( void ) application : ( UIApplication * ) application didReceiveRemoteNotification : ( NSDictionary * ) userInfo
fetchCompletionHandler : ( void ( ^ ) ( UIBackgroundFetchResult ) ) completionHandler
{
[ RCTPushNotificationManager didReceiveRemoteNotification : userInfo fetchCompletionHandler : completionHandler ] ;
}
// Required for the registrationError event .
- ( void ) application : ( UIApplication * ) application didFailToRegisterForRemoteNotificationsWithError : ( NSError * ) error
{
[ RCTPushNotificationManager didFailToRegisterForRemoteNotificationsWithError : error ] ;
}
// Required for the localNotification event .
- ( void ) application : ( UIApplication * ) application didReceiveLocalNotification : ( UILocalNotification * ) notification
{
[ RCTPushNotificationManager didReceiveLocalNotification : notification ] ;
}
2018-05-07 20:43:26 +00:00
- ( BOOL ) application : ( UIApplication * ) application openURL : ( NSURL * ) url
sourceApplication : ( NSString * ) sourceApplication annotation : ( id ) annotation
{
return [ RCTLinkingManager application : application openURL : url
sourceApplication : sourceApplication annotation : annotation ] ;
}
// 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 ] ;
}
2017-08-03 18:23:43 +00:00
@ end