registerForRemoteNotifications 仅适用于安装了 iOS 7 的 iPhone
Posted
技术标签:
【中文标题】registerForRemoteNotifications 仅适用于安装了 iOS 7 的 iPhone【英文标题】:registerForRemoteNotificationTypes does not work only with iOS7 installed iPhones 【发布时间】:2014-04-04 12:44:58 【问题描述】:我的生产/开发证书和配置文件一切正常。并且下面的代码被成功调用 application:didRegisterForRemoteNotificationsWithDeviceToken:
并安装了 ios6 系统的设备
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
// my implementations
return YES;
但是当我使用安装了 iOS7 的设备进行调试时,didRegisterForRemoteNotificationsWithDeviceToken
和 didFailToRegisterForRemoteNotificationsWithError
都没有被调用。我使用Ad-hoc
分发为测试人员分发应用程序,iOS7 设备也存在同样的问题。
可能与我的问题有关的原因是什么?
附:我的XCode
版本:5.1 (5B130a)
【问题讨论】:
我遇到了类似的问题,但只有当用户选择了不允许来自提示的推送通知时。在这种情况下,这些代表都没有被调用。在显示提示时和所有后续调用。我已经使用 enabledRemoteNotificationTypes 进行了调查(请参阅***.com/a/23280876/344393),但是在提示用户之前以及在他们选择不允许之后,此值是 UIRemoteNotificationTypeNone。苹果提供一个 UIRemoteNotificationTypeNotSelected (或类似的东西)会很好 【参考方案1】:它对我有用 希望能帮到你
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
return YES;
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
NSLog(@"%@",deviceToken);
【讨论】:
这对我来说很奇怪。我不知道为什么我的问题只适用于 iOS 7 设备【参考方案2】:检查您的 Ad-Hoc 配置文件并确保已启用推送通知
【讨论】:
以上是关于registerForRemoteNotifications 仅适用于安装了 iOS 7 的 iPhone的主要内容,如果未能解决你的问题,请参考以下文章