【问题标题】:iOS push notifications nightmares, Provisions app IDs and certificatesiOS 推送通知噩梦,提供应用 ID 和证书
【发布时间】:2012-06-27 01:03:06
【问题描述】:

各位 Apple 开发者, 我正在努力弄清楚 iOS 配置文件、证书和应用程序 ID 如何与推送通知配合使用。我以为我快要让它发挥作用了,但也许不是。

当我运行我的应用并尝试注册推送通知时,我在控制台中收到此错误:

2012-06-26 17:52:29.380 Grouped[1732:707] badgeNumber: 0
2012-06-26 17:52:30.089 Grouped[1732:707] [INFO] device is ready
2012-06-26 17:52:32.654 Grouped[1732:707] JSLOG: Registering with APNS via the App Delegate
2012-06-26 17:52:32.655 Grouped[1732:707] Register success callback set
2012-06-26 17:52:32.661 Grouped[1732:707] didFailToRegisterForRemoteNotificationsWithError:Error 
Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for 
application" UserInfo=0x18a0c0 {NSLocalizedDescription=no valid 'aps-environment' 
entitlement string found for application}

我现在已经进行了几个小时的研究,但无法弄清楚我做错了什么。 我创建了一个链接到我的应用 ID 的新配置文件。我可以在我的手机上看到它。

有什么想法吗?

额外问题:为什么正确配置 iOS 应用程序以进行推送通知如此复杂?

【问题讨论】:

    标签: ios apple-push-notifications


    【解决方案1】:

    需要检查的几件事:

    • 您的设备上是否有此应用程序的任何其他配置文件?我会删除它们。
    • 您的 App ID 是否已在配置门户中启用推送?
    • 您确定使用正确的个人资料进行签名吗?它必须是非通配符开发证书。
    • 您是否指定了自己的 entitlements.plist 文件?现代 Xcode 会生成一个,所以你不需要这样做。确保您的“代码签名权利”构建设置为空。

    如果您还没有找到它,Apple 有一个很好的常见问题解答:

    http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

    【讨论】:

    • 嗨,杰西,感谢您的回复。我的设备上有两个配置文件。一个是我的 iOS 团队配置。另一个是我的推送规定。我只需要一个吗?我的应用 ID 确实启用了推送。关于您的第三个问题,使用正确的配置文件签署应用程序意味着什么?我确保我的推送配置文件没有任何通配符。但是我的团队资料确实有一个通配符。我应该只使用推送条款吗?如果是这样,我该怎么做?我没有使用我自己的 entitlements.plist。只是项目的所有默认设置。任何额外的帮助都会很棒!谢谢
    • 在您的构建设置下查看“代码签名身份”,并确保它为您的目标和方案选择了非通配符配置文件;你应该只使用非通配符的(可以有另一个,只是不要用它签署这个应用程序)。
    【解决方案2】:
    "no valid 'aps-environment' entitlement string found for 
    application"
    

    您的配置文件未启用推送通知。确保您在配置门户中启用它们,生成一个新的配置文件,但更重要的是确保您在 Xcode 中实际安装它并使用该配置文件为您的应用程序签名。最后那部分已经咬了我好几次了。

    【讨论】:

    • 有趣。所以我在我的个人资料中启用了推送。但正如我在下面对 Jesse 的回答中提到的那样,我有两个个人资料。我的团队配置文件和我为推送创建的推送配置文件(开启推送)。我下载了证书,它与我的团队配置文件一起显示在 xcode 中。我如何告诉 xcode 不要使用团队配置文件?或者这不是答案?非常感谢您的回复。这快把我逼疯了!
    【解决方案3】:

    确保在为应用创建推送证书后创建新的 adhoc/appstore 配置文件。启用应用推送消息后,分发配置文件会发生变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-10
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多