Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode 4.6自动授权不起作用-“;没有有效的aps环境“;_Ios_Push_Token_Xcode4.6 - Fatal编程技术网

Ios Xcode 4.6自动授权不起作用-“;没有有效的aps环境“;

Ios Xcode 4.6自动授权不起作用-“;没有有效的aps环境“;,ios,push,token,xcode4.6,Ios,Push,Token,Xcode4.6,我得到了一个著名的错误: 无法获取令牌,错误:错误域=NSCOCAERRORDOMAIN代码=3000“未找到应用程序的有效“aps环境”权限字符串”UserInfo=0x413be0{NSLocalizedDescription=未找到应用程序的有效“aps环境”权限字符串} 我可以通过编辑以下文件来修复它: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneO

我得到了一个著名的错误:
无法获取令牌,错误:错误域=NSCOCAERRORDOMAIN代码=3000“未找到应用程序的有效“aps环境”权限字符串”UserInfo=0x413be0{NSLocalizedDescription=未找到应用程序的有效“aps环境”权限字符串}

我可以通过编辑以下文件来修复它

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/Entitlements.plist
并手动添加aps环境密钥,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    <key>aps-environment</key>
    <string>development</string>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    </array>
</dict>
</plist>
在iPhone上运行该应用程序可以为推送生成设备令牌。
这是我找到的唯一解决问题的方法。
(如果遇到此错误,您可以将此信息用于自己的故障排除)

现在,我在另一台笔记本电脑上运行同一个项目(与git同步),
使用相同的Xcode版本4.6。
此问题不会在该笔记本电脑上发生。
两台机器上的项目设置/配置文件等都是100%相同的。
(请相信我)

有人在Xcode 4.6中遇到过这样的问题吗?
我可能也应该在苹果的支持下开一张票

只是想知道是否还有其他更优雅的解决方案

更新:
上述修复可能仅适用于devel阶段,而不适用于发行版。

覆盖默认授权.plist的一个更优雅的解决方案是制作一份您编辑过的默认授权.plist的副本,并将其放入您的项目中

然后,为您遇到问题的目标构建设置代码签名权限(在本例中,我将其设置为调试)


然后,应使用此plist文件进行调试构建(即仅按Run键时),您的设备将注册到APNs开发服务器

您是否有机会使用iOS团队配置文件?是的,这正是我最终解决此问题的方式。根据苹果的文档,这是正确的方法
/Users/mySelf/Library/Developer/Xcode/DerivedData/myApp-buauvgusocvjyjcwdtpewdzycfmc/Build/Intermediates/myApp.build/Debug-iphoneos/myApp.build/myApp.xcent