无法获取推送通知警报请求iPhone

无法获取推送通知警报请求iPhone,iphone,ios,push-notification,Iphone,Ios,Push Notification,我对这个发展很陌生,所以请帮助我 我正在使用此代码启动推送通知 [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 但是,在我的设备上,我没有收到推送通知用户权限警报,提示“应用程序名称”要发送通知 我

我对这个发展很陌生,所以请帮助我

我正在使用此代码启动推送通知

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
但是,在我的设备上,我没有收到推送通知用户权限警报,提示“应用程序名称”要发送通知

我发现,若设备被判入狱,那个么我们不会收到权限警报消息,但我的设备并没有被判入狱

编辑

我还在设备上收到推送通知,只是在第一次启动时没有收到权限警报


在这方面的任何帮助都将非常感谢。

您需要这样做- 您还需要注册您的设备

- (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);
}

如果您使用IOS S.1/5.1+,请阅读推送通知指南

首次启用推送功能的应用程序注册推送通知时,iOS会询问用户是否希望接收该应用程序的通知。用户响应此警报后,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示此警报。


如果您想模拟应用程序的首次运行,可以将应用程序卸载一天。通过将系统时钟向前拨一天或更长时间,完全关闭设备,然后重新打开设备,您可以实现后者而无需实际等待一天。

我发现推送通知权限警报仅在应用程序第一次启动时出现,即使我们删除应用程序,权限警报也不会出现。即使卸载应用程序超过7天,仍然不会出现权限警报

当我在不同的设备上测试我的应用程序时,我发现了这个问题,权限警报只在应用程序第一次运行时出现一次

希望这些信息能帮助其他同样面临同样问题的人。

来自:

  • 从设备中删除你的应用程序
  • 完全关闭设备并重新打开
  • 进入设置>常规>日期和时间,将日期提前一天或更长时间
  • 再次完全关闭设备并重新打开

  • 重新安装应用程序


  • 我刚刚在iOS 7.1上进行了测试,效果不错。注意,这需要关闭设备两次。

    是否在启用推送通知的情况下创建开发证书?我收到推送通知,但没有权限警报消息此警报仅在安装后第一次启动应用时出现。@Pratek:尝试取消并重新安装你的应用否,仍然没有收到警报。已转发日期2天,仍未收到推送通知警报。我认为您的设备中有相同的证书/设置文件应用,请删除所有相同的证书/设置文件并选中否,仍在工作,我正在iOS 5.1上测试我的应用程序。您需要访问其他内容。这只是为了注册并在注册或发生错误时调用委托方法。您能告诉我,还有什么其他内容吗?我正在从WS注册此设备,并且我还测试了我也在设备上收到通知,just not alert Message为特定应用程序签入设备设置,是否已注册声音、警报和徽章??或者不是。我发现测试这个弹出窗口的唯一方法是擦除设备并将其设置为新设备。然后,弹出窗口可以再次出现一次。对我也有效:)