gpt4 book ai didi

iphone - Objective-C - 检测用户何时更改应用程序的通知设置

转载 作者:太空狗 更新时间:2023-10-30 03:17:42 27 4
gpt4 key购买 nike

我需要始终知道用户在推送通知设置中选择了哪些选项。
(选项是 - 警报、声音和徽章)

因此,当我的应用启动时,我调用:

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

并检测用户选择了什么。

但是我如何才能检测到用户是否在应用生命周期内更改了设置?
当此设置发生更改时,是否会调用一些委托(delegate)方法?

最佳答案

没有代表。您需要定期查询 UIApplication 属性 enabledRemoteNotificationTypes,例如在 applicationDidBecomeActive: 中。

有关详细信息,请检查这些答案:

Determine on iPhone if user has enabled push notifications

View In Lock Screen and enabledRemoteNotificationTypes - iOS5

编辑:
如果您需要重置推送通知设置和权限警报,请查看 Apple technical note TN2265 .在 “在 iOS 上重置推送通知权限警报” 部分,他们解释了如何在 iOS 上重置设置。但是,许多开发人员提示该过程不起作用。不确定 this link将工作,您将需要访问 Apple 论坛,但它是关于这个确切问题的线程之一。

我自己想知道 Apple 是否已经删除了 iOS 5.1 中的权限对话框。否则为什么他们会要求应用程序显示警报?根据AppStore review guidelines until June 2016 :

5.3 Apps that send Push Notifications without first obtaining user consent will be rejected

例如,路径(应用程序)要求用户在注册过程中选择加入推送通知,而不是在应用程序首次启动时。

不确定提示的目的是什么,因为应用程序无法查询通知设置的状态。特别是,应用程序可以检查启用了哪些通知类型(使用 enabledRemoteNotificationTypes),但不能检查特定应用程序的推送通知是否启用或禁用(顶部的通知中心 ON/OFF 开关)。至少这是 iOS 5.1 中的行为。即使用户禁用该应用程序的通知,该应用程序仍然可以注册推送通知(使用 registerForRemoteNotificationTypes)并且将收到一个 APNS token 。

关于iphone - Objective-C - 检测用户何时更改应用程序的通知设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10191006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com