zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    Sandcastle 这个工具生成文档不错
    Windows 服务关闭自动重启
    『录』最全前端资源汇集
    利用Continuous Testing实现Eclipse环境自动单元测试
    (转载)const指针和指向const的指针(左值右指)
    为什么寄存器比内存快?
    Vim Buffer
    Linux操作系统文件系统基础知识详解(引用内容)
    详解BOM头以及去掉BOM头的方法
    对比MySQL,什么场景MongoDB更适用
  • 原文地址:https://www.cnblogs.com/zxykit/p/5207498.html
Copyright © 2011-2022 走看看