没有为应用商店中的应用找到有效的"aps-environment"权利字符串

Jes*_*iah 88 xcode push objective-c app-store ios

所以我有一个名为Dripper的应用程序,我在一个月前推出,然后几天前更新.该更新添加了推送通知和一些小调整.我使用开发配置文件使用sandbox-apn测试了它,并且工作得很好.然后我将东西切换到生产apn并将其推送到试飞,再次完美的工作.一旦我将更新推向市场并运行它,我注意到我没有在服务器上获得任何新的推送注册.我查看了设备的控制台日志,发现了这个:

12月4日17:55:15 Ina-touch-it coffco [1210]:注册远程通知
Dec 4 17:55:15 Ina-touch-it SpringBoard [52]:找不到有效的'aps-environment'权利字符串'滴头':( null).通知将不会发送.
12月4日17:55:15 Ina-touch-it coffco [1210]<Warning>: Failed to register with error : Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x174270900 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

我有点困惑,因为我认为production-apn在ad-hoc和app store构建之间的功能相同.

这是我的应用程序ID及其权利 - > http://i.stack.imgur.com/uf4pB.png

以下是应用商店的配置文件 - > http://i.stack.imgur.com/AYOV5.png

wei*_*wei 251

我通过启用推送通知功能来解决此问题.

单击.xcodeproj - >功能 - >启用推送通知

  • 在XCode 8中,我在本节中看到一个错误,指出需要添加权利文件.我点击它来纠正它然后它工作正常. (15认同)
  • 必须在 XCode 12 中为调试和发布添加此内容。 (2认同)

Erw*_*wan 103

我修复了这个问题:

  • 转到Xcode"首选项"
  • 转到"帐户"标签
  • 选择我的Apple ID,然后单击"查看详细信息"
  • 单击左下角的箭头以刷新
  • 点击"完成"

然后再试一次!

资源:

  • 那么你应该在Build Setting中选择正确的配置文件 (6认同)
  • 在我的情况下,我需要在开发中心重新生成配置文件.然后通过Xcode>首选项>帐户>您的Apple ID>右侧角落的查看详细信息按钮>全部下载按钮再次下载所有配置文件和证书.之后它应该再次工作. (2认同)
  • 我觉得很遗憾在推送和部署过程中有很多故障.我能够容忍任何这一切的唯一方法是手动完成100%的一切,并知道Xcode正在尝试做什么,以及管理文件系统上的Keychain身份和配置文件以及通过iPhone配置实用程序. (2认同)

Ram*_* G. 56

您必须启用Target-> capabilities-> push notification.我使用Xcode 8遇到了这个问题.在此输入图像描述


Fah*_*kar 19

此类问题是由于当前的Provisioning Profile不包含APNS信息,因为在创建APNS证书之前创建了Provisioning Profile.

因此,要解决此问题,请创建新的Provisioning Profile并在Xcode中选择Provisioning Profile.那你就完成了.

此外,当您添加推送时,我相信您也更新了钥匙串中的证书.


mic*_*all 7

关于 Xcode 9,一些答案已经过时或不完整,无法解决这个特定问题。

以下是我要遵循的步骤:

1. 创建配置文件

FCM 不是推送通知的先决条件,但他们的指南非常清楚,这是链接

要在开发过程中测试您的应用程序,您需要一个用于开发的配置文件来授权您的设备运行尚未在 App Store 上发布的应用程序。

  1. 导航到 Apple Developer Member Center 并登录。
  2. 导航到证书、标识符和配置文件。
  3. 在左上角的下拉菜单中,选择 iOS、tvOS、watchOS(如果尚未选择),然后导航到 Provisioning Profiles > All。
  4. 单击 + 按钮以创建新的配置文件。
  5. 选择 iOS App Development 作为配置文件类型,然后单击继续。
  6. 在下拉菜单中,选择您要使用的 App ID,然后单击继续。
  7. 选择您在上一步中选择的 App ID 的 iOS 开发证书,然后单击继续。
  8. 选择要包含在配置文件中的 iOS 设备,然后单击继续。确保选择要用于测试的所有设备。
  9. 输入此配置文件的名称(例如 Firebase 示例应用程序开发配置文件),然后单击生成。
  10. 单击下载以将配置文件保存到您的 Mac。
  11. 双击 Provisioning Profile 文件进行安装。

2. 激活推送通知功能

  1. 官方手册转到项目编辑器 在此处输入图片说明
  2. 在功能部分,激活推送通知 在此处输入图片说明


Dar*_*Lau 6

用于添加推送通知功能的导航在更高版本的 Xcode 上略有变化。这里使用 12.2

Xcode 12 添加通知功能说明


小智 5

我使用iOS 8.0及以上版本也遇到同样的问题;我没有获得设备令牌并给出错误:“没有为应用程序找到有效的‘aps-environment’权利字符串”

我使用以下步骤修复了它

  • 我已经为应用程序 ID 创建了新的配置文件
  • 将其添加到 xcode 中
  • 项目转到 Xcode“首选项”
  • 前往“帐户”选项卡 选择我的 Apple ID,然后单击“查看详细信息”
  • 选择您的配置文件
  • 点击左下角箭头刷新
  • 点击“完成”

现在运行该项目肯定会起作用。