Iphone 从推送通知中获取错误
在我的应用程序中,我需要推送通知。我正在执行推送通知文档中的所有说明。但我从推送通知中得到一个错误:Iphone 从推送通知中获取错误,iphone,objective-c,apple-push-notifications,Iphone,Objective C,Apple Push Notifications,在我的应用程序中,我需要推送通知。我正在执行推送通知文档中的所有说明。但我从推送通知中得到一个错误: Fail To Register For Remote Notifications With Error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x2340a0 {NSLocali
Fail To Register For Remote Notifications With Error:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
entitlement string found for application" UserInfo=0x2340a0
{NSLocalizedDescription=no valid 'aps-environment' entitlement string
found for application}
我做错了什么?首先,您需要确保使用的应用程序ID没有通配符。 然后,您需要为该应用程序启用推送通知以进行开发 例如,检查
即使在你为推送启用了应用程序id之后,它也可能需要几个小时才能工作 我刚刚处理了这个问题。虽然可能发生了很多事情,但以下是我学到的 当您更改应用程序ID(例如启用推送通知)时,您需要创建新的配置文件。我必须已经创建了我的应用ID,使用它创建了一个配置文件,然后在应用ID上启用了通知
一旦我从门户网站和设备中删除了配置文件,我就使用修改后的应用程序ID创建了一个新的配置文件。下载它,然后将它扔到我的设备上,砰砰谢谢,夫人,它成功了。希望这对未来的人们有所帮助 首先必须在设备中运行applcaiton 这将在xcode 3.2.6中发生。因为当你把一切都变得完美的时候。但您的应用程序没有在iphone、ipad或ipod中注册。您需要生成一个authentication.plst文件
- 步骤:首先在xcode中选择您的项目并创建一个文件。选择名为it Rightage.plist(默认名称)的代码设计文件
- 把它放在资源文件夹中李>
- 右键单击“作为xml编辑器打开”
- 然后在文本编辑模式下打开您的配置文件,如您的_aplicationname.mobileprovision(您为Apns服务器创建的)
<key>application-identifier</key>
<string>xyz.com.company_name.app_name</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>xyx.*</string>
</array>
应用程序标识符
xyz.com.company\u name.app\u name
aps环境
发展
获取任务允许
密钥链访问组
xyx.*
- 保存authentication.plist文件
- 运行将由Apns服务器通知的应用程序
如果更新应用程序id,则必须从设备、xcode和developer.apple.com中删除配置文件。然后创建一个新的匹配配置文件,该配置文件使用新的应用程序id设置进行更新。最好给它起个稍微不同的名字,这样你就知道你选择的是正确的 这让我发疯了。我反复检查了所有内容,但仍然得到相同的错误。 也尝试了网络上提供的所有其他解决方案。 然而,这对我来说起了作用。我在启用APN之前创建.mobileprovision文件。这才是真正的错误。 解决这个问题:
如果您之前创建了配置文件,并且启用了APN,则应该从系统中的任何位置(XCode、keychain、iTunesConnect)删除配置文件。然后再次创建设置文件。只需确保您使用的是特定的设置证书 转到: 检查您的供应证书的状态,在最坏的情况下,只需创建一个新的,下载它并再次分配给您的项目
确保您使用的是哪种类型的供应,“开发”或“分销”我遇到了同样的问题,
我解决了它,确保在构建设置中,调试的代码签名标识设置为正确的配置文件
,您在该配置文件中启用了推送通知。我在XCode 4.6.1中遇到了相同的错误,它对我有效,然后我从Mac中删除以前的APNS配置文件,并从成员中心重新下载APNS配置文件。在目标模式下的构建设置中,代码签名标识应仅在调试模式下作为iphone Developer for Release设置为nil或删除开发者或发行版。 正确设置配置文件。可能您没有设置配置文件。我使用的是Xcode 6.1.1 您不必删除或重新创建任何内容。您只需让Xcode更新活动证书(包括新的推送通知证书) 只需进入Xcode>Preferences>Accounts>pick your Account>pick your Team>View Details 单击左下角的刷新按钮。(还要检查生成设置中的代码签名)
我也得到了同样的。下面是我如何解决的 1) 已删除
~/Library/MobileDevice/provisioningprofiles
2) 已从开发人员帐户中删除配置文件
3) 创建并安装了新的配置文件
请注意,更新配置文件并不能解决问题。好吧,有点尴尬,但有时你会花几个小时在最愚蠢的错误上- 因此,我在DEBUG模式下运行应用程序,而不是AD-HOC 要改变这一点,请执行以下操作: 方案->编辑方案… 选择左侧的Run,并在构建配置下更改为临时dist *当然,在创建配置文件时,您需要在build setting\code signing下具有适当的临时配置文件,以及附加到该文件的适当APNS证书 **一旦您运行它,它将崩溃,因为它不在调试模式下,但您仍然可以从设备运行
< P>如果你管理一个以上的应用程序推送一个服务器,那么考虑下面的事实。 您需要将单独的私钥作为p12文件进行处理,以准备pem文件,当您创建.certSigningRequest文件时,此私钥将在keychain应用程序中生成。所以,这个CSR