iphone - 未调用推送通知委托(delegate)回调

标签 iphone objective-c ios cocoa-touch push-notification

我正在通过调用以下代码来注册推送通知:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound];

但在极少数情况下,不会调用以下委托(delegate):

- (void)application:(UIApplication *)iApplication didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)iNewDeviceToken {

甚至没有调用以下方法:

- (void)application:(UIApplication *)iApplication didFailToRegisterForRemoteNotificationsWithError:(NSError *)iError {

这可能是什么原因。收到设备 token 后,我将继续我的应用程序流程。因此,在极少数情况下,我的应用会挂起。

有什么线索吗?

最佳答案

根据文档,在设备与推送服务器建立持久连接之前,这两个回调都不会发生。因此,如果没有可用的 wifi 或数据连接,则不会发生回调 - 苹果不会将此视为错误情况。据我所知,唯一可能导致 didFail... 回调的错误是不正确的证书/应用程序权限问题(开发问题),或者用户拒绝许可(尽管我只是偶尔能够重现这个通过更改日期和关闭手机)。

关于iphone - 未调用推送通知委托(delegate)回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631710/

相关文章:

iphone - 如何以编程方式显示 UITableView?

iphone - 将一个 viewControllers View 添加到另一个 viewController

iphone - NSInternalInconsistencyException 无法在包中加载 Nib

javascript - 触摸两个 dom 元素上的事件?

ios - Objective-C中Android的 "Spannable"相当于什么

ios - 是否可以支持 iPhone 6 屏幕,但不支持 iPhone 6 Plus?

objective-c - 当函数的类不继承自 NSObject 时,从 ObjC 调用一个 swift 实例函数

ios - 从 UIImage 清除 UIView 绘图

ios - 如何在 Adob​​e AIR for iOS 中同时监听点击和手势?

objective-c - iOS 单元格标签链接