-(BOOL)IsIphoneX
{
struct utsname
systemInfo;
uname(&systemInfo);
NSString *deviceVersion
= [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
return [deviceVersion
isEqualToString:@"iPhone10,6"] || [deviceVersion
isEqualToString:@"iPhone10,3"];
}
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
::printf("->
applicationDidFinishLaunching()\n");
// send
notfications
#if !UNITY_TVOS
if (UILocalNotification*
notification = [launchOptions objectForKey:
UIApplicationLaunchOptionsLocalNotificationKey])
UnitySendLocalNotification(notification);
if ([UIDevice
currentDevice].generatesDeviceOrientationNotifications == NO)
[[UIDevice currentDevice]
beginGeneratingDeviceOrientationNotifications];
#endif
UnityInitApplicationNoGraphics([[[NSBundle mainBundle] bundlePath]
UTF8String]);
[self
selectRenderingAPI];
[UnityRenderingView
InitializeForAPI: self.renderingAPI];
//_window
= [[UIWindow alloc] initWithFrame: [UIScreen
mainScreen].bounds];
_window = [[UIWindow
alloc] initWithFrame:[self IsIphoneX] ? CGRectMake(34, 0, 744, 375)
: [UIScreen mainScreen].bounds];
_unityView
= [self
createUnityView];
[DisplayManager
Initialize];
_mainDisplay
= [DisplayManager
Instance].mainDisplay;
[_mainDisplay
createWithWindow: _window andView: _unityView];
[self createUI];
[self
preStartUnity];
// if you wont use
keyboard you may comment it out at save some memory
[KeyboardDelegate
Initialize];
//-------------------------------------------------------------------------------从这里开始是极光推送的代码
if ([[UIDevice
currentDevice].systemVersion floatValue] >= 10.0) {
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
JPUSHRegisterEntity * entity =
[[JPUSHRegisterEntity alloc] init];
entity.types = UNAuthorizationOptionAlert |
UNAuthorizationOptionBadge | UNAuthorizationOptionSound;
[JPUSHService
registerForRemoteNotificationConfig:entity delegate:self];
#endif
}
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1
if ([[UIDevice
currentDevice].systemVersion floatValue] >= 8.0) {
// 可以添加自定义 categories
[JPUSHService
registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound | UIUserNotificationTypeAlert)
categories:nil];
} else {
// categories 必须为 nil
[JPUSHService
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)
categories:nil];
}
#else
// categories 必须为
nil
[JPUSHService
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)
categories:nil];
#endif
// NSString
*advertisingId = [[[ASIdentifierManager sharedManager]
advertisingIdentifier] UUIDString];
// [JPUSHService
setupWithOption:launchOptions appKey:@"90241fbdf9646662d0f8e24f"
channel:@"" apsForProduction:YES
SadvertisingIdentifier:advertisingId];
//-------------------------------------------------------------------------------以上是极光推送的代码
return YES;
}