• iOS 消息推送报错NSCocoaErrorDomain Code=3000


    Xcode7推送报错。Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo=0x15f81360 {NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}

          有些设备可以获取deviceToken,有些设备获取不到,就报“3000” 错误。暂时发现对iOS9的是可以获取的,iOS9以前是不可以的。现在列举一下可能出错的地方。

    工具/原料

    • 编译环境:Xcode 7.1
    • Mac操作系统:OS X 10.11

    方法/步骤

    1. 1

      证书问题:

            1.证书未正确生成,要先确保App IDs的推送使能Push Notifications是Enabled;

            2.生成开发环境APNs Development iOS或生产环境APNs Production iOS的推送证书,正确制作.p12文件;

            3.要确保Provisioning Profiles是设置过App IDs和生成推送证书后更新过的,下载最新的Profiles文件。

      iOS 消息推送报错NSCocoaErrorDomain Code=3000
    2. 2

      项目问题:

            1.工程-TARGETS-general->Bundle identifier要和证书上的一致;

            2.工程-TARGETS-general-> team要选中app所用的证书;

            3.注册DeviceToken时要将代码放在AppDelegate.m文件didFinishLaunchingWithOptions内;

            4.要区分iOS8前和iOS8之后的注册方法;

            5.监听注册结果(成功/失败)。(如图)

      iOS 消息推送报错NSCocoaErrorDomain Code=3000
    3. 3

      Xcode7问题:

            Xcode7使用推送,可能要打开手动设置一下,也可能不用设置,这个状况比较特殊。工程-TARGETS-Capabilities,里面列举多个Apple服务功能项,找到Push Notifications设置开启:ON。这里也是需要证书的,选择的时候要注意要喝项目的一致。(操作如图)

      iOS 消息推送报错NSCocoaErrorDomain Code=3000
    4. 4

      还不行的话,那就尝试:

            步骤1:删除本地证书,清空废纸篓;

            步骤2:项目 Product - clean一下,再完全关闭Xcode,

            步骤3:删除苹果开发者中心上的Certificates, Identifiers & Profiles

      证书,重新创建;

            步骤4:下载新的证书,双击打开导入Xcode。

  • 相关阅读:
    [转载]oracle 存储过程的基本语法及注意事项
    [转载]Oracle常用函数大全
    [转载]Java编程思想:面向对象的逻辑思维方法
    [转载]细说Java反射
    [转载]一位大学老师写给大学新生的100条肺腑之言
    [转载]学习java30条基本的概念
    [转载]细说Java反射
    [转载]Java编程思想:面向对象的逻辑思维方法
    Item 38. 异常安全之公理(Exception Safety Axioms)
    Item 36. ClassSpecific Memory Management
  • 原文地址:https://www.cnblogs.com/zxykit/p/5207498.html
Copyright © 2020-2023  润新知