我正在使用Parse进行推送通知,它一直运行良好,直到几天前我停止接收我的两个iOS设备上的通知(一个运行iOS 8.4,另一个运行8.2)。我可以在Parse.com仪表板上看到通知。但我没有看到他们到达设备上的通知中心。在XCode调试器中,没有看到application.didReceiveRemoteNotification也被调用。奇怪的是,我在iOS 7上运行的iPhone仍然会收到运行与iOS 8相同版本代码的通知。所以对可能出现的问题感到困惑。
过去几天发生了一些事情:
将其中一部手机升级至iOS 8.4,但通知在8.2设备上无效,因此升级不应成为原因
将XCode升级到6.4
8.4设备是一个新设备(在8.3上运行)我刚刚添加到配置文件中。当我将手机连接到XCode时,当我在XCode Identity设置中点击“修复它”按钮时,它有一些问题(我记不起细节了)。然后一段时间后我注意到通知没有通过。我用谷歌搜索并在Preferences-> accounts-> apple ID-> view details-> refresh按钮中找到了刷新我的配置文件的建议。这似乎有效,我再次收到通知。但是一天后它又停止了工作。
我尝试使用不同的软件包ID(带有一些后缀)创建一个单独的应用程序版本,并通过在info.plist文件中添加另一个URL方案使用相同的Facebook App ID。无法让它工作,因为Facebook登录不断带我回到旧的应用程序,所以我没有完成所有的工作。但我仍然看到一些新的配置文件与新的捆绑ID。所以我在苹果开发者网站会员中心删除了它们,并刷新了XCode中的配置文件以获取更改。
这就是我所能记住的,而且我不知道哪个动作(如果有的话)导致了问题以及如何修复它。有什么建议吗?
答案 0 :(得分:1)
您是否确认在app app delegate中为iOS 8启用了推送?
// Register for Push Notitications, if running iOS 8
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge |
UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes
categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
}
else {
// Register for Push Notifications before iOS 8
[application registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeAlert |
UIUserNotificationTypeSound)];
}
我也会开始全新的所有证书,应用程序和配置文件,以及.p12文件 - 听起来像是关闭但它是大海捞针。尽职尽责并遵循从A到Z的流程: