码迷,mamicode.com
首页 > 移动开发 > 详细

ios 编译版本 最低版本 运行版本 动态链接库

时间:2018-01-09 22:10:18      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:动态库   返回   部署   ant   float   bad   void   center   app   

  if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) 运行环境判断;

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 编译器、开发环境支持;

部署环境支持;

 

UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]

在低于库版本的运行环境运行时,center返回值为nil;

 

结论:

1)在对象或类符号不存在时,动态库没有任何存在,返回值为nil;

2)当一个类的接口存在跨系统级别的函数存在时,因为类或对象存在,函数符号不存在,所以存在崩溃的情况。

 

 

- (void)registerRemoteNotification {

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 // Xcode 8编译会调用

        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];

        center.delegate = self;

        [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionCarPlay) completionHandler:^(BOOL granted, NSError *_Nullable error) {

            if (!error) {

                NSLog(@"request authorization succeeded!");

            }

        }];

        

        [[UIApplication sharedApplication] registerForRemoteNotifications];

#endif

    } else if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {

        UIUserNotificationType types = (UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationTypeBadge);

        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:nil];

        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];

        [[UIApplication sharedApplication] registerForRemoteNotifications];

    } else {

        UIRemoteNotificationType apn_type = (UIRemoteNotificationType)(UIRemoteNotificationTypeAlert |

                                                                       UIRemoteNotificationTypeSound |

                                                                       UIRemoteNotificationTypeBadge);

        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:apn_type];

    }

}

ios 编译版本 最低版本 运行版本 动态链接库

标签:动态库   返回   部署   ant   float   bad   void   center   app   

原文地址:https://www.cnblogs.com/feng9exe/p/8253790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!