我对这个发展很陌生,所以请帮帮我
我正在使用此代码启动推送通知
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
但是,在我的设备上,我没有收到推送通知用户权限提示“应用名称”想发送通知
我发现如果设备被监禁,那么我们就不会收到权限提醒信息,但我的设备没有被监禁。
编辑
我也在我的设备上收到推送通知,只是在第一次启动时没有获得许可警报。
对此的任何帮助都会非常感激。
答案 0 :(得分:13)
再次完全关闭设备并重新打开。
重新安装应用
我刚刚在iOS 7.1上测试过它的确有效。请注意,这需要关闭设备TWICE。
答案 1 :(得分:10)
我发现推送通知权限警报仅在第一次启动应用程序时出现,即使我们删除应用程序,也不会发出权限警报。即使应用程序卸载超过7天,仍然不会出现许可警报。
当我在不同的设备上测试我的应用程序时,我发现了这个问题,第一次应用程序运行时,权限警报只出现一次。
希望这些信息可以帮助那些同样面临同样问题的人。
答案 2 :(得分:5)
如果您使用IOS S.1 /5.1 +,请阅读推送通知指南App Store Review Guidelines
推送启动应用首次注册推送通知时,iOS会询问用户是否希望接收该应用的通知。一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报。
如果您想模拟首次运行的应用,可以将应用程序卸载一天。通过将系统时钟向前设置一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需等待一天。
答案 3 :(得分:0)
你需要做这样的事情 - 你也需要注册你的设备。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}
根据您的状态通知委托方法回调 -
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken
{
}
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
{
DebugLog(@"Error in registration. Error: %@", err);
}