美文网首页iOS用到的
Xcode 8运行到非iOS9系统,报:NSCocoaError

Xcode 8运行到非iOS9系统,报:NSCocoaError

作者: jiminy | 来源:发表于2016-07-28 01:08 被阅读5635次

    如果bundle id、signing(Provisioning Profile、Codesigning)配置正确、具备推送功能,运行安装到非iOS 9系统的设备

    - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
      //Optional
      NSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);
    }
    

    这个方法会打印如下错误:

    did Fail To Register For Remote Notifications With Error:
     Error Domain=NSCocoaErrorDomain Code=3000
     "未找到应用程序的“aps-environment”的授权字符串" 
    UserInfo={NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}
    
    

    请在Target开启以下设置:

    98E820D5-6171-4DA7-9CC6-F5CD5784CC98.png

    请到Target 检查entitlements,正确的应该如下:

    39509C3B-5C4C-4133-A96B-39BB65571852.png

    如果entitlements里面有Any SDK,请将其删除。

    888AE9D4-B609-4398-8AA7-F17A4A9330ED.png
    #注意:如果运行安装的设备是iOS9,可以成功获取到Device Token,但是无法收到推送。
    

    相关文章

      网友评论

      • myCastleAndKing:lz,我的配置的在iOS 10的系统上可以正式获取收到推送,但是在iOS 8系统就获取不到打印连接服务器失败集成的是最新3.0版本的JPush.
        jiminy:你的问题需要看具体错误日志才能知道啥情况~
        建议你先看一下日志定位。
        如果你不知道如何定位,可以把运行安装到有问题的设备后的所有日志发给我。
      • pzb:根本接收不到任何推送,证书 配置 检查了N遍,根本接收不到!!
        jiminy:@y2c 你所谓的这样设置是指配置了些什么呢?
        fa8683e22908:因为按照po主的这样设置,iOS9设备收到的deviceToken收到的其实是development环境的deviceToken,在 Capabilities 中关闭 Push Notifications 后 iOS9 设备的deviceToken又变回生产环境的token,可以收到推送,但 iOS 10 设备又code=3000,所以我认为这是 Xcode8的问题,还没有找到解决方案。
        jiminy:@pzb 再细心检查一下吧~不知道你如何配置,有无报错,我这里也不知道怎么帮你哦。
      • samzp:感谢分享,正为这个问题头疼呢
        75cf95cdb512:@samzp 我也遇到了,但是 push Notifications 我打开了,两个都是勾选状态,证书都是新加的,apply可能对照上,但是还是报这个错,获取不到device_token,怎么解决
        SJLyran:@jiminy Xcode7下archived的app放在iOS10中也会提示NSCocoaErrorDomain Code=3000,但iOS9下就推送正常,有解决方法吗?
        jiminy:@samzp :sunglasses:如果有用extension可以看下另外一篇文章

      本文标题:Xcode 8运行到非iOS9系统,报:NSCocoaError

      本文链接:https://www.haomeiwen.com/subject/lvqajttx.html