15

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

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

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

4

2 回答 2

45

在 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.

资源

于 2013-10-31T14:38:55.893 回答
11

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

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

我怎么知道用户选择的不允许/允许?

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

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

}

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

UPD: 这是有关如何设置应用程序以进行推送通知的教程:http ://www.raywenderlich.com/32960/

于 2013-10-31T07:33:55.757 回答