- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
<分区>
首先,我使用的是 iPhone 6 Plus/iOS 8.1,我已经尝试了这里的所有方法:why didRegisterForRemoteNotificationsWithDeviceToken is not called
还是不行。总结:
在 application:didFinishLaunchingWithOptions:
我调用:
if([application respondsToSelector:@selector(registerUserNotificationSettings:)]){
//iOS 8+
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
}else{
//pre-iOS 8
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}
在 application:didRegisterUserNotificationSettings:
我调用:
[application registerForRemoteNotifications];
我用断点检查了它,它确实被调用了。我还实现了两种方法:
应用程序:didRegisterForRemoteNotificationsWithDeviceToken:
和
应用程序:didFailToRegisterForRemoteNotificationsWithError:
但是,它们都没有被调用。不是错误,没什么。控制台也没有错误。 (我今天早些时候遇到过关于权利的问题,但创建新的证书/配置文件解决了这个问题)
可能是什么问题?
更新:这里有一些东西。在 application:didRegisterUserNotificationSettings:
中,我检查了通知设置,这是我得到的:
(lldb) po notificationSettings
<UIUserNotificationSettings: 0x170031cc0; types: (none);>
更新 2: 我再次检查了通知,发现现在我的应用程序已添加到“设置”中的通知中,它已启用,并获得了权限。但是,处理程序仍然没有被调用。类型没有。我 99% 确定它与问题有关。
更新 3:我已经在另一台设备(iPod touch、iOS 8.1)上进行了测试,没有遇到任何问题。它立即使用其 token 调用 application:didRegisterForRemoteNotificationsWithDeviceToken:
方法。这个问题是我的 iPhone 特有的。
我是一名优秀的程序员,十分优秀!