【问题标题】:Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application"获取令牌失败,错误:错误域 = NSCocoaErrorDomain 代码 = 3000“找不到应用程序的有效‘aps-environment’权利字符串”
【发布时间】:2015-06-09 01:00:06
【问题描述】:

在这个问题上卡住了很长一段时间。尝试运行以下行:

[application registerForRemoteNotifications];

并得到错误

(via: - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
    NSLog(@"Failed to get token, error: %@", error);
})

2015-04-03 16:06:42.753 TownHall[696:169453] Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x17426a1c0 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

Tried some of the stuff with the following associated post http://stackoverflow.com/questions/10987102/how-to-fix-no-valid-aps-environment-entitlement-string-found-for-application but little luck. 

这包括: 1) 重新创建配置文件 2) 重新创建 ID 并检查它是否匹配并启用了推送 3)清理和重建等 4) 创建新证书 5) 使用 Xcode > Preferences > Accounts > View Details 刷新(选择您的帐户)

想知道是否有人对此有任何解决方案?

很高兴分享人们可能会发现对解决此问题有用的任何其他信息。

非常感谢您的帮助!

【问题讨论】:

  • 请发布错误信息
  • 如果有帮助,请在上面添加更多信息。错误信息只是标题...
  • 如果构建设置中有权限,您可以尝试删除它吗?另一个可能的原因,您可以使用 iphone 配置实用程序删除除最新配置之外的所有配置
  • 我在哪里可以找到权利?
  • 它在构建设置/代码签名部分,但如果你的项目不使用权利文件,那么我可以猜到供应问题?

标签: ios notifications push-notification apple-push-notifications provisioning-profile


【解决方案1】:

转到Capabilities 部分下的项目目标,您会发现此错误正在发光。 XCode 可能会建议自动为您修复它。

您必须在项目中创建两个权利(AppName_Debug.entitlements 和 AppName_Release.entitlements)文件,其中包含以下内容: AppName_Debug.entitlements

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
      <dict>
        <key>aps-environment</key>
          <string>development</string>
      </dict>
</plist>

AppName_Release.entitlements

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
      <dict>
        <key>aps-environment</key>
          <string>production</string>
      </dict>
</plist>

在适当的选项下在构建设置中的代码签名权限下添加这两个文件。

【讨论】:

    【解决方案2】:

    您没有有效的配置文件或团队没有

    【讨论】:

    • 如何检查配置文件是否有效?
    • 与您的个人资料关联的 .p12 文件无效,在钥匙串上检查它
    【解决方案3】:

    如果您看到错误“未找到应用程序的权利字符串”,请按照上述说明在权利文件中添加 aps-environment 和开发键值对

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 2012-09-20
      • 2015-02-04
      • 1970-01-01
      相关资源
      最近更新 更多