现在已经搁置了这个问题很长一段时间了。试图运行以下行:
[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刷新>偏好>帐户>查看详细信息(选择您的帐户)
想知道是否有人对此有任何解决方案?
很高兴分享人们可能会发现解决此问题的任何其他信息。
非常感谢您的帮助!
答案 0 :(得分:15)
转到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>
在适当的选项下,在Build Settings中的Code Signing Entitlments下添加这两个文件。
答案 1 :(得分:2)
您没有有效的配置文件或团队没有
答案 2 :(得分:0)
如果看到错误“找不到应用程序的授权字符串”,请在如上所述的授权文件中添加aps环境和开发键值对