【问题标题】:What are some possible reasons that UNUserNotificationCenter.current().requestAuthorization might not prompt?UNUserNotificationCenter.current().requestAuthorization 可能没有提示的可能原因有哪些?
【发布时间】:2020-02-26 00:14:00
【问题描述】:

UNUserNotificationCenter.current().requestAuthorization 可能没有提示的可能原因有哪些?

我有一些用户根本没有收到许可提示。我什至尝试在 TestFlight 中更改应用程序包 ID,以查看他们是否会收到提示,但无济于事。

我也尝试通过https://developer.apple.com/library/archive/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG42 重置权限。

通知权限设置未列在 iOS 上的应用设置中,这让我相信它不一定被拒绝。

任何帮助将不胜感激。我认为这不是代码问题,因为调用相当简单。

【问题讨论】:

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


    【解决方案1】:
    • 请求provisional 权限会导致通知的权限提示在iOS
    • 如果用户之前拒绝了您应用的权限,则该对话框也不会显示。

    【讨论】:

    • 抱歉 - 因为我们正在执行 WK WebView,所以我们只是未能检测到应用程序是本机的。感谢您的帮助!
    【解决方案2】:

    即使问题是由一些愚蠢的事情引起的;我认为仍然值得分享解决问题的方法。

    我们有一个 WK WebView iOS 应用程序。在我们的 Angular 方面,在尝试提示用户许可之前,我们会尝试检测环境当前是否是 iOS 原生应用程序。我们通过在本地存储中设置一个标志来进行此检测(我并不真正了解所有详细信息,因为它不是我的代码 - 我只是审阅者)。在加载原生应用、WebView 和 Angular 代码之间,我们无法可靠地确保同步处理。

    检测失败 - 所以我们从不提示用户。

    再次感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多