ios - 解析 iOS 推送通知停止到达设备,即使仪表板有它们的记录

标签 ios parse-platform push-notification

我正在使用 Parse 推送通知,它一直运行良好,直到几天前我停止在我的两台 iOS 设备上接收通知(一台运行 iOS 8.4,另一台运行 iOS 8.2)。我可以在 Parse.com 仪表板中看到正在发送的通知。但我没有看到他们到达设备上的通知中心。在 XCode 调试器中,也没有看到 application.didReceiveRemoteNotification 被调用过。奇怪的是,我在 iOS 7 上运行的 iPhone 仍然收到运行与 iOS 8 中相同版本代码的通知。所以很困惑可能是什么问题。

最近几天发生了一些事情:

  1. 已将其中一部手机升级到 iOS 8.4,但通知在 8.2 设备上也不起作用,因此升级不应该是原因

  2. 将 XCode 升级到 6.4

  3. 8.4 设备是一个新设备(在 8.3 上运行),我刚刚添加到配置文件中。当我将手机连接到 XCode 时,在 XCode Identity 设置中单击“修复它”按钮时出现了一些问题(我不记得详细信息了)。一段时间后,我注意到通知没有通过。我用谷歌搜索并找到了在首选项->帐户->Apple ID->查看详细信息->刷新按钮中刷新我的配置文件的建议。这似乎已经奏效了,我又收到了通知。但是一天后它又停止工作了。

  4. 我试图通过在 info.plist 文件中添加另一个 URL Scheme,使用不同的 bundle ID(带有一些后缀)和使用相同的 facebook App ID 创建一个单独的应用程序版本。无法让它工作,因为 facebook 登录让我回到旧应用程序,所以我取消了所有工作。但我仍然看到一些新的配置文件和新的 bundle id。因此,我在苹果开发者网站成员(member)中心删除了它们,并在 XCode 中刷新了配置文件以获取更改。

我只记得这些,我不知道是哪个操作(如果有的话)导致了问题以及如何解决它。有什么建议吗?

最佳答案

您是否确认在您的应用委托(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 的流程:

https://parse.com/tutorials/ios-push-notifications

关于ios - 解析 iOS 推送通知停止到达设备,即使仪表板有它们的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31261309/

相关文章:

objective-c - 自定义 UIFont 为零

ios - 限制 iOS 访问网站

javascript - 如何获取 limit 和降序 created_At 返回的项目索引

ios - 针对用户类 Parse ios 中的特定用户更新记录

azure - Toast 通知的通知中心缓存

cross-browser - 向用户显示警报的通用跨平台方式(移动)

ios - 应用程序在启动时崩溃

iOS AdMob 内存泄漏?

xcode - 在 Swift 中将 Parse Core 链接到 Apple Watch

c# - Xamarin.iOS 在应用未关闭时处理推送通知