Objective c 没有有效的';aps环境&x27;找到应用程序的授权字符串
我正在尝试将我的应用程序配置为支持推送通知,但不断出现以下错误: 无法获取令牌,错误:错误域=NSCOCAERRORDOMAIN代码=3000“找不到应用程序的有效“aps环境”权限字符串”UserInfo=0x1f818fc0{NSLocalizedDescription=找不到应用程序的有效“aps环境”权限字符串}Objective c 没有有效的';aps环境&x27;找到应用程序的授权字符串,objective-c,apple-push-notifications,Objective C,Apple Push Notifications,我正在尝试将我的应用程序配置为支持推送通知,但不断出现以下错误: 无法获取令牌,错误:错误域=NSCOCAERRORDOMAIN代码=3000“找不到应用程序的有效“aps环境”权限字符串”UserInfo=0x1f818fc0{NSLocalizedDescription=找不到应用程序的有效“aps环境”权限字符串} 我确实启用了我的应用程序来支持推送通知(目前仅用于开发) 在启用推送通知后,我确实创建了配置文件 我的包标识符与配置文件中显示的相同 在我的配置文件中有一个字符串:aps环境
- 我确实启用了我的应用程序来支持推送通知(目前仅用于开发)
- 在启用推送通知后,我确实创建了配置文件
- 我的包标识符与配置文件中显示的相同
- 在我的配置文件中有一个字符串:aps环境
- 我确保在“代码签名标识”部分下的project和target中,所有值都被选择为我的配置文件
还有什么想法吗?谢谢。就我而言,我的资源调配配置文件中的内容:
security cms -D -i ~/Downloads/spolskyDevelop.mobileprovision
...
<key>application-identifier</key>
<string>P5GM95Q9VV.com.dca.spolsky</string>
<key>aps-environment</key>
<string>development</string>
security cms-D-i~/Downloads/spolskyDevelop.mobileprovision
...
应用程序标识符
P5GM95Q9VV.com.dca.spolsky
aps环境
发展
与实际构建的应用程序中的内容不同(您可以通过查看Xcode的“日志”选项卡找到它的构建位置)
codesign-d——权利-'/Users/drew/Library/Developer/Xcode/DerivedData/spolsky bdbtdfjeeywhqzccmpmceqvnhgtm/Build/Products/Debug iphoneos/spolsky ios.app'
应用程序标识符
Y2X6Z7Z2GR.com.dca.spolsky-ios
获取任务允许
密钥链访问组
Y2X6Z7Z2GR.com.dca.spolsky-ios
这是真的,即使代码签名标识下的“当前匹配”提示文本指示了正确的配置文件——奇怪吧?更奇怪的是,当我运行时,设备上安装了正确的配置文件,(设置->常规->配置文件),这让我相信配置文件是正确的——但当应用程序实际启动时,它又回到了通配符ID
线索是这两个命令的输出不同:
Y2X6Z7Z2GR.com.dca.spolsky ios与P5GM95Q9VV.com.dca.spolsky
当我使粗体部分匹配时,斜体部分自动更改为匹配。此外,安全性和协同设计的输出是一致的,没有更多的错误
我猜XCode在我的非通配符ID上使用了通配符样式的匹配(“spolsky”毕竟非常接近“spolsky ios”),这就解释了“当前匹配”的输出。但构建链中的某些内容对此要求更严格,因此在构建过程中会返回到实际的通配符ID。我遇到了此错误,没有创建新的配置文件;创建了一个新的,然后必须重新启动xCode,但现在可以工作了 问题是由于当前设置配置文件不包含APNS信息,因为设置配置文件是在创建APNS证书之前创建的
因此,要解决此问题,请创建一个新的配置文件并在Xcode中选择配置文件将清除错误。请注意,捆绑包标识符必须以区分大小写的方式匹配配置文件。我有一些像com.FirstLast.appname的东西,而它应该是com.FirstLast.appname。嗯,这让我忙了好一阵子。产品->清洁帮我做的。希望它能为其他人做到这一点。我在一个可能不常见的用例中遇到了这个问题。我正在使用Xcode 6和iOS 8。我正在创建一系列全新的应用程序项目,并尝试重新使用相同的bundle ID,这样就不需要再次进行所有的门户端设置。这也只是用于沙箱测试 我会发现,虽然第一个应用的设置和注册工作正常,但如果我从设备中删除了该应用,为第二个应用设置了相同的捆绑ID,然后尝试向该应用注册PNs,我会收到此错误 我的解决办法是:
.mobileprovision
文件,将其安装回Xcode无论以前的状态如何,这种方法似乎都不适用,我可以使用新的应用程序/相同的捆绑包ID注册PNs。新的配置文件适合我。如果您正在开发中,请确保使用开发人员配置文件(不要使用临时配置文件)。在那之后一切都很好,不知道为什么旧的那台停止正常工作 在推送通知已经在我的设备上运行之后,我遇到了同样的问题。似乎Xcode缓存了不正确的内容,因此刷新它修复了我的问题:
我通过启用推送通知功能修复了这个问题 选择项目>目标>功能>打开推送通知
如果此问题在升级到Xcode 8后突然发生,您可能会在“功能”屏幕中发现一条警告,允许您自动修复此问题:
选择项目>目标>功能>打开推送通知对于在ios 10中遇到此错误的用户,您可以尝试以下步骤: 1.清理项目。
2.检查目标->功能->推送通知。如果关闭,则打开
以上步骤帮助我摆脱了这个问题。希望它能对某人有所帮助。对这个问题没有见解吗?看起来很多人都会遇到这样的情况。。
codesign -d --entitlements - '/Users/drew/Library/Developer/Xcode/DerivedData/spolsky-bdbtdfjeeywhqzccpmmceqvnhgtm/Build/Products/Debug-iphoneos/spolsky-ios.app'
<dict>
<key>application-identifier</key>
<string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
</array>
</dict>