所以我有一个名为Dripper的应用程序,我在一个月前推出,然后几天前更新.该更新添加了推送通知和一些小调整.我使用开发配置文件使用sandbox-apn测试了它,并且工作得很好.然后我将东西切换到生产apn并将其推送到试飞,再次完美的工作.一旦我将更新推向市场并运行它,我注意到我没有在服务器上获得任何新的推送注册.我查看了设备的控制台日志,发现了这个:
12月4日17:55:15 Ina-touch-it coffco [1210]:注册远程通知
Dec 4 17:55:15 Ina-touch-it SpringBoard [52]:找不到有效的'aps-environment'权利字符串'滴头':( null).通知将不会发送.
12月4日17:55:15 Ina-touch-it coffco [1210]<Warning>: Failed to register with error : Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x174270900 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
我有点困惑,因为我认为production-apn在ad-hoc和app store构建之间的功能相同.
这是我的应用程序ID及其权利 - > http://i.stack.imgur.com/uf4pB.png
以下是应用商店的配置文件 - > http://i.stack.imgur.com/AYOV5.png
我已经阅读了xcode从哪里获取应用程序的标识符?,来自{PRODUCT_NAME}的XCode包标识符格式,并加载更多但......
我正在尝试推送推送通知并让人感到害怕
"Error Domain = NSCocoaErrorDomain Code = 3000"找不到有效的'aps-environment'权利字符串,用于应用程序"UserInfo = 0x15b200 {NSLocalizedDescription = no valid'atps-environment'权利字符串找到应用程序}"错误.
我很确定我已经正确地遵循了所有步骤,包括:
唯一认为我无法理解的是Bundle Identifier
推送证书适用于
XXXXXXXXXX.com.julianbaker.pwcnewsuk
Run Code Online (Sandbox Code Playgroud)
PwCNewUK-Info.plist中的Bundle Indentifier用于
com.julianbaker.${PRODUCT_NAME:rfc1034identifier}
Run Code Online (Sandbox Code Playgroud)
如果我手动将其更改为
com.julianbaker.pwcnewsuk
Run Code Online (Sandbox Code Playgroud)
我得到一个UDID不匹配错误,因为该应用程序被视为PwCNewsUK
当我用谷歌搜索这个问题似乎有些混乱,但它似乎必须匹配?
题:
Bundle Indentifer应该与
XXXXXXXXXX.com.julianbaker.pwcnewsuk 的推送证书相匹配?
题:
我是否需要为配置文件添加"aps-environment"权利,如果是,在何处以及如何添加?(参见http://www.airplaysdk.com/node/3174等)
喜欢iPhone开发,但有时它可能是一个headbanger!
我们已经创建了应用程序ID,分发证书和配置文件.推送通知最初未启用.
我们现在需要在应用程序中实现推送通知.
我们在App D中启用推送通知,检查配置文件,配置文件无效,更新它,并下载最新的配置文件以供下次使用.
然后,我们在代码中通过APNS集成推送通知的API.
在iTunesConnect上传应用程序后,我们收到Apple发来的以下电子邮件:
亲爱的开发者,
我们发现您最近交付"Swanvi"的一个或多个问题.您的投放成功,但您可能希望在下次投放时更正以下问题:
缺少推送通知权利 - 您的应用似乎包含用于向Apple推送通知服务注册的API,但应用签名的权利不包括"aps-environment"权利.如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含"aps-environment"权利的配置配置文件对应用进行签名后重新提交.有关详细信息,请参阅"本地和推送通知编程指南"中的"供应和开发".如果您的应用不使用Apple推送通知服务,则无需执行任何操作.您可以从将来的提交中删除API以停止此警告.如果您使用第三方框架,
纠正问题后,您可以使用Xcode或Application Loader将新二进制文件上传到iTunes Connect.
我们重新检查了App ID.推送通知已启用开发和生产.
在Provisioning Profile中,将显示Push Notifications选项.
为什么我们通过电子邮件收到此警告?
已经有一段时间困在这个问题上了.试图运行以下行:
[application registerForRemoteNotifications];
Run Code Online (Sandbox Code Playgroud)
并得到错误
(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.
Run Code Online (Sandbox Code Playgroud)
这包括:1)重新创建配置文件2)重新创建ID并检查它是否匹配并启用推送3)清理和重建等4)创建新证书5)使用Xcode刷新>首选项>帐户>查看详细信息(选择您的帐户)
想知道是否有人有任何解决方案吗?
很高兴分享人们可能会发现解决此问题的任何其他信息.
非常感谢您的帮助!
notifications push-notification apple-push-notifications ios provisioning-profile
我们正在开发一个IOS应用程序,我们想实现PUSH NOTIFICATION,我已经通过了苹果文档,并要求我的团队代理在iOS开发中心启用推送通知,他们似乎已经开始了,现在启用它.我在我的申请中注册了下面的推送通知......
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,调用了didFailToRegisterForRemoteNotificationsWithError,我无法预测问题,还有什么我可以做的认证.
谢谢...