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"
# import < React / RCTBundleURLProvider . h >
# import < React / RCTRootView . 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 >
2018-07-10 13:40:32 +00:00
# import "RNNotifications.h"
2019-03-12 16:23:06 +00:00
# import "RNSplashScreen.h"
# import "Orientation.h"
2018-07-10 13:40:32 +00:00
2017-08-03 18:23:43 +00:00
@ implementation AppDelegate
- ( BOOL ) application : ( UIApplication * ) application didFinishLaunchingWithOptions : ( NSDictionary * ) launchOptions
{
2019-03-12 16:23:06 +00:00
NSURL * jsCodeLocation ;
jsCodeLocation = [ [ RCTBundleURLProvider sharedSettings ] jsBundleURLForBundleRoot : @ "index" fallbackResource : nil ] ;
RCTRootView * rootView = [ [ RCTRootView alloc ] initWithBundleURL : jsCodeLocation
moduleName : @ "RocketChatRN"
initialProperties : nil
launchOptions : launchOptions ] ;
self . window = [ [ UIWindow alloc ] initWithFrame : [ UIScreen mainScreen ] . bounds ] ;
UIViewController * rootViewController = [ UIViewController new ] ;
rootViewController . view = rootView ;
self . window . rootViewController = rootViewController ;
[ self . window makeKeyAndVisible ] ;
[ Fabric with : @ [ [ Crashlytics class ] ] ] ;
2018-07-10 13:40:32 +00:00
2019-03-12 16:23: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 ] ;
2018-10-23 21:39:48 +00:00
2019-03-12 16:23:06 +00:00
[ RNSplashScreen show ] ;
return YES ;
2017-08-03 18:23:43 +00:00
}
2017-11-18 20:17:24 +00:00
// Required to register for notifications
2018-07-10 13:40:32 +00:00
- ( 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 ] ;
}
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 ] ;
}
2019-03-12 16:23:06 +00:00
- ( UIInterfaceOrientationMask ) application : ( UIApplication * ) application supportedInterfaceOrientationsForWindow : ( UIWindow * ) window
{
return [ Orientation getOrientation ] ;
}
2018-05-07 20:43:26 +00:00
// 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