在应用内启用或禁用Iphone推送通知

Sam*_*nga 26 push-notification ios swift usernotifications unusernotificationcenter

我有一个iPhone应用程序,可以接收推送通知.目前我可以通过转到iPhone设置/通知来禁用我的应用程序的推送通知.

但我想在我的应用程序中添加一个开关或按钮来启用或禁用推送通知.

它可以完成,因为我在foursqure看到它iphone应用程序做到了.他们在设置呼叫通知设置中有一个部分,用户可以启用或禁用该应用的不同类型的通知.

我在网上寻找一个合适的解决方案,但仍未找到方法.任何人都可以知道如何做到这一点?

提前致谢 :)

Var*_*tia 33

[ 仅供参考 - 很少有用户报告它在iOS 10上停止工作 ]

您可以分别通过再次调用registerForRemoteNotificationTypes和轻松启用和禁用应用程序中的推送通知unregisterForRemoteNotificationTypes.我试过这个并且它有效.

  • 由于某些原因,这在iOS10停止工作:/ (6认同)

Nit*_*Nit 21

首先是你can not enable and disable push notification在应用程序内部.如果您找到了一些应用程序,那么必须有解决方法.

就像你想在应用内部做的那样然后使用一个标识符并根据推送通知启用和禁用按钮将其发送到服务器.因此,您的服务器端编码使用此标识符并根据该标识符工作.像标识符一样,它是启用,而不是你的服务器将发送通知.

您可以检查该用户集enabledisable Push Notifications使用以下代码.

启用或禁用Iphone推送通知

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types == UIRemoteNotificationTypeNone) 
 // Yes it is..
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助..

  • 正如下面的答案所述,调用unregisterForRemoteNotificationTypes将停止推送通知的传递 - 我已经在用户注销的应用程序上测试了它,它确实有效. (2认同)