【问题标题】:How to show iOS Push Notification Popup? [closed]如何显示 iOS 推送通知弹出窗口? [关闭]
【发布时间】:2013-10-31 07:13:35
【问题描述】:

我正在尝试向我的应用添加推送通知。我需要知道如何使推送通知弹出窗口出现。 我所涉及的弹出窗口是一个警报视图,有两个选择,“允许”和“不允许”。它询问用户是否允许应用程序接收通知和内容。

我尝试一遍又一遍地删除我的应用程序并推进时间,但没有任何效果。

另外,如果出现弹出窗口,我如何知道用户选择的不允许/允许?

【问题讨论】:

标签: ios notifications push-notification apple-push-notifications


【解决方案1】:

在 iOS 上重置推送通知权限警报

启用推送的应用首次注册推送通知时, iOS 会询问用户是否希望接收该应用的通知。 一旦用户对此警报做出响应,它就不会再次出现 除非设备已恢复或应用程序已被卸载 至少一天。

如果您想模拟您的应用的首次运行,您可以离开 该应用程序卸载了一天。您可以在没有的情况下实现后者 按照以下步骤实际等待一天:

1. Delete your app from the device.

2. Turn the device off completely and turn it back on.

3. Go to Settings > General > Date & Time and set the date ahead a day or more.

4. Turn the device off completely again and turn it back on.

Source

【讨论】:

  • 来自官方的有趣评论:如果你想模拟你的应用程序的首次运行,你可以让应用程序卸载一天。您可以通过以下步骤实现后者,而无需实际等待一天:(参见上面的 1 至 4)
  • 有效,但感觉太复杂了...
  • 似乎不需要关闭设备两次(再一次?)。跳过第二步,节省一些时间:)
  • 在带有 8.1 的 iphone6 上试过这个,但没有运气。我没有按预期再次收到本地通知或远程通知提示(我确实跳过了第 2 步...
【解决方案2】:

在您为远程通知注册应用程序后会出现弹出窗口。例如:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

我如何知道用户选择的不允许/允许?

应用程序对象调用两个委托的方法:

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{

}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *) error
{
}

统一更新: 以下是有关如何设置您的应用以进行推送通知的教程:http://www.raywenderlich.com/32960/

【讨论】:

  • 我已经注册了远程通知,但没有出现弹出窗口。我错过了什么吗?至于 didFailToRegisterForRemotNotification 我了解到当我在模拟器中运行时它也会去那里,因为它不支持推送通知。有没有办法隔离错误?我只关心“不允许”错误。谢谢。
  • 你能登录并报错吗?是的。模拟器不支持推送通知。
  • 这是我的问题。我不知道用户单击不允许时返回的错误,因为我什至无法显示弹出窗口。 T_T
  • 您还应该在 developer.apple.com 上配置您的应用 ID 以接收远程通知。
  • 我已经更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
相关资源
最近更新 更多