IOS10系统 app没有出现在系统设置-通知列表处理

    xiaoxiao2023-03-24  2

    IOS10系统 app没有出现在系统设置-通知列表处理

    IOS10 系统更新,对程序员来说最大的改变就是做好布局和推送的兼容处理。布局兼容比较好处理,下面总结下IOS10推送问题的处理经验

    1、app 有推送功能,安装后却没有出现在 系统设置-通知列表 处理

        OS10推送新增了UserNotifications Framework,导入引用 #import <UserNotifications/UserNotifications.h> 并在 AppDelegate  didFinishLaunchingWithOptions 方法中添加注册。具体参考如下:

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.f) { UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; center.delegate = self; [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) { if (!error) { NSLog(@"succeeded!"); } }]; }

    注册成功,即可在设置-通知中 看到对应 app 的 通知设置信息,详细参考如下文章:iOS10推送通知适配

    2、App推送收不到,使用 [[UIApplication sharedApplication] isRegisteredForRemoteNotifications] 检测通不过 处理

        如果在推送证书都正确的情况下,推送 注册检测通不过。说明配置存在问题,请按照如下步骤核对:

       a、在XCode 中选中项目 -> 选择TARGETS项 -> 选择 Capabilities 开启 "Push Notification"项

      b、在XCode 中选中项目 -> 选择TARGETS项 -> 选择 Capabilities 开启 "Background Modes"项,并勾选 “Remote notification” 项

    更多详细内容,请参考如下文章:iOS10 推送最新配置

    3、IOS10 系统关闭通知后再开启,开启成功却收不到推送处理

          公司app使用的 友盟推送,把情况反馈给对方,对方技术回复是 IOS10 系统的bug。经过本人在 10.0.1 和 10.0.2 上多次测试,关闭(使用的系统关闭方法 [[UIApplication sharedApplication] unregisterForRemoteNotifications],也收不到)后开启确实收不到。但是,却发现 通过系统【设置】 -> 【通知】哪里关闭后开启能够正常接收推送。折中的处理办法是引导用户去 系统 - 设置 - 通知中关闭 。详细代码如下:

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.f) { // IOS10 推送关闭后开启 收不到信息,但是通过[设置] - [通知] 关闭后开启,能正常收到 NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url]; } } //关闭推送 else{ //..此处使使用正常的关闭,不受影响 } 以上方法,亲测有效。希望给遇到同样困扰的同行们参考!

    转载请注明原文地址: https://ju.6miu.com/read-1200241.html
    最新回复(0)