iOS 消息推送報錯NSCocoaErrorDomain Code=3000

Xcode7推送報錯。Error Domain=NSCocoaErrorDomain Code=3000 "未找到應用程序的「aps-environment」的受權字符串" UserInfo=0x15f81360 {NSLocalizedDescription=未找到應用程序的「aps-environment」的受權字符串}html

      有些設備能夠獲取deviceToken,有些設備獲取不到,就報「3000」 錯誤。暫時發現對iOS9的是能夠獲取的,iOS9之前是不能夠的。如今列舉一下可能出錯的地方。app

工具/原料

  • 編譯環境:Xcode 7.1
  • Mac操做系統:OS X 10.11

方法/步驟

  1. 1

    證書問題:ide

          1.證書未正確生成,要先確保App IDs的推送使能Push Notifications是Enabled;工具

          2.生成開發環境APNs Development iOS或生產環境APNs Production iOS的推送證書,正確製做.p12文件;操作系統

          3.要確保Provisioning Profiles是設置過App IDs和生成推送證書後更新過的,下載最新的Profiles文件。code

    iOS 消息推送報錯NSCocoaErrorDomain Code=3000
  2. 2

    項目問題:htm

          1.工程-TARGETS-general->Bundle identifier要和證書上的一致;blog

          2.工程-TARGETS-general-> team要選中app所用的證書;ip

          3.註冊DeviceToken時要將代碼放在AppDelegate.m文件didFinishLaunchingWithOptions內;ci

          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。

相關文章
相關標籤/搜索