zoukankan      html  css  js  c++  java
  • ios 编译版本 最低版本 运行版本 动态链接库

      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];

        }

    }

  • 相关阅读:
    Python(调用函数、定义函数)
    Python(可变/不可变类型,list,tuple,dict,set)
    Python(变量、数据类型)
    java内存泄露
    java垃圾回收
    mac下安装mysql教程
    Http、Https请求工具类
    ThreadLocal内部机制及使用方法
    java单例模式详解
    (转)Java集合框架:HashMap
  • 原文地址:https://www.cnblogs.com/feng9exe/p/8253790.html
Copyright © 2011-2022 走看看