iOS 推送通知不起作用

标签 ios iphone push-notification

我必须为我的应用程序实现推送通知服务,因此我创建了在生产环境中启用推送通知的 App ID。第一次在我的设备中安装应用程序时,推送通知允许和不允许弹出窗口出现,如果它单击全部。它没有生成推送通知。下次我启动时它不会要求任何弹出窗口而且我无法生成设备 token ,请帮助我。

谢谢, 尼克尔.CH

最佳答案

首先,一旦您回复推送通知权限警报详细信息,就会保存。要重置该设置并再次体验警报,请按照以下步骤操作:

  1. 从设备中删除您的应用。

  2. 完全关闭设备并重新打开。

  3. 转至“设置”>“常规”>“日期和时间”,然后将日期提前一天或更多。

  4. 再次完全关闭设备,然后重新打开。

现在,这是在 iOS 应用程序上注册推送通知的分步过程:

第 1 步:询问设备上应用程序的 iOS 推送通知设置:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert) categories:nil]];
} else {
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound];
}

第 2 步:注册以获取有关从上述方法调用的委托(delegate)回调的通知

- (void)application:(UIApplication *)iApplication didRegisterUserNotificationSettings:(UIUserNotificationSettings *)iNotificationSettings {
    [iApplication registerForRemoteNotifications];
}

第3步:实现以下方法来接收并保存从上述方法调用的 token

- (void)application:(UIApplication *)iApplication didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)iDeviceToken
- (void)application:(UIApplication *)iApplication didFailToRegisterForRemoteNotificationsWithError:(NSError *)iError

如果您没有获得推送 token ,则错误方法 didFailToRegisterForRemoteNotificationsWithError 必须为您提供一些有用的信息。

关于iOS 推送通知不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32842375/

相关文章:

ios - 如何通过从边缘拖动来调整 UIView 的大小?

iphone - Swift 使用 NSLocale 作为日期格式化程序 - 需要自动设置国家/地区

ios - ios 中体系结构 x86_64 的 undefined symbol

android - 在后台解析推送通知

android - Galaxy Nexus 和 Samsung S3 中未收到我的 Android 应用程序的推送通知

ios - 需要在ios中的didselectitematindexpath上摇动collectionviewcell

ios - xcode5-按下按钮后播放声音不起作用

ios - 组合 UIView 以创建复杂 View 的最佳方法?

iphone - uiscrollview 没有弹到顶部

php - 如何在 Android 上换行通知内容