Ios 未调用的方法:-(void)application:(UIApplication*)application didRegisterForRemotionTificationswithDeviceToken:(NSData*)deviceToken
一直以来,我们都在这个问题上纠缠不休,但无法调用以下方法。我可以让手机请求许可,但在那之后它就卡住了Ios 未调用的方法:-(void)application:(UIApplication*)application didRegisterForRemotionTificationswithDeviceToken:(NSData*)deviceToken,ios,iphone,push-notification,apple-push-notifications,Ios,Iphone,Push Notification,Apple Push Notifications,一直以来,我们都在这个问题上纠缠不休,但无法调用以下方法。我可以让手机请求许可,但在那之后它就卡住了 - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { NSLog(@"My token is: %@", deviceToken); } - (void)application:(UIApplicati
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
我尝试了很多东西,包括:
1) 以下stackoverflow post中提供的所有内容:
2) 看看苹果公司的技术说明:
3) 整个教程:(希望我的证书都很好)
4) (是的,我有互联网连接)
有人有什么可能的解决办法吗?在过去的2-3天里,我一直在绞尽脑汁,已经两次在工厂重置我的手机,并多次更改手机上的日期,以便让弹出的通知能够反复测试
我愿意帮忙!谢谢
这里是我用来称呼。。。(尝试了一些其他版本):
iOS 8在注册流程中引入了一项更改,要求在获得用户许可后明确要求注册远程通知 你在调用这个代码吗
[[UIApplication sharedApplication] registerUserNotificationSettings: settings];
在应用程序委托中实现这一点
- (void) application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
[application registerForRemoteNotifications];
}
也就是说,旧的API现在已经被弃用,但如果您计划支持iOS 7,则仍然需要这些API。要支持这两个选项,您可以检查UIApplication是否响应新的选择器:
if ([[UIApplication sharedApplication] respondsToSelector:@SEL(registerUserNotificationSettings:)]) {
// iOS 8
[[UIApplication sharedApplication] registerUserNotificationSettings: settings];
// [[UIApplication sharedApplication] registerForRemoteNotifications]
// will be called in your UIApplicationDelegate callback
} else {
// iOS 7
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
那是8吗?是否也调用了didFailedToRegister?两个都没有调用,IOS8是否在生成计算机上安装了APNS证书,以及是否更新了设置配置文件?对两者都是,我按照此处的证书说明操作:在if块的iOS 8部分中,您需要删除对
[application registerForRemoteNotifications]
的调用。在应用程序委托中实现didRegisterUserNotificationSettings:
回调,并在该方法中进行RegisterForRemotionTifications
调用。在权限请求完成之前,registerforremotentifications
调用将不起作用。我以前做过如下操作:-(void)application:(UIApplication*)application didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings{NSLog(@“IOS8版本”);[application registerForRemoteNotifications];}它基本上会使我的应用程序崩溃,不过:(
if ([[UIApplication sharedApplication] respondsToSelector:@SEL(registerUserNotificationSettings:)]) {
// iOS 8
[[UIApplication sharedApplication] registerUserNotificationSettings: settings];
// [[UIApplication sharedApplication] registerForRemoteNotifications]
// will be called in your UIApplicationDelegate callback
} else {
// iOS 7
[[UIApplication sharedApplication] registerForRemoteNotifications];
}