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

2024-03-15

我需要always了解用户在推送通知设置上选择哪些选项。
(选项有 - 警报、声音和徽章)

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

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

并检测用户选择的内容。

但是,我如何检测用户是否在应用程序生命周期的后期更改了设置?
当此设置发生更改时是否有一些委托方法被调用?


没有代表。您需要查询UIApplication财产enabledRemoteNotificationTypes定期地,例如applicationDidBecomeActive:.

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

确定 iPhone 上用户是否启用了推送通知 https://stackoverflow.com/questions/1535403/determine-on-iphone-if-user-has-enabled-push-notifications

在锁定屏幕中查看并启用远程通知类型 - iOS 5 https://stackoverflow.com/questions/9276154/view-in-lock-screen-and-enabledremotenotificationtypes-ios5

Edit:
如果您需要重置推送通知设置和权限警报,请查看苹果技术说明 TN2265 https://developer.apple.com/library/archive/technotes/tn2265/_index.html。在部分“重置 iOS 上的推送通知权限警报”他们解释了如何在 iOS 上重置设置。然而,许多开发人员抱怨该过程不起作用。不知道这个链接 https://devforums.apple.com/message/648200#648200如果要工作,您将需要访问 Apple 论坛,但它是有关此确切问题的主题之一。

我自己想知道苹果是否在 iOS 5.1 中删除了权限对话框。否则为什么他们会要求应用程序显示警报?根据AppStore 审核指南截至 2016 年 6 月 https://web.archive.org/web/20160604100419/https://developer.apple.com/app-store/review/guidelines/:

5.3未经用户同意而发送推送通知的应用程序将被拒绝

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

无论如何,不​​确定提示的目的是什么,因为应用程序无法查询通知设置的状态。特别是,应用程序可以检查哪些通知类型(使用enabledRemoteNotificationTypes)已启用,但如果启用或禁用特定应用程序的推送通知(顶部的通知中心开/关开关)则不会。至少 iOS 5.1 中是这样的。即使用户禁用该应用程序的通知,该应用程序仍然可以注册推送通知(使用registerForRemoteNotificationTypes)并将收到 APNS 令牌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective-C - 检测用户何时更改应用程序的通知设置 的相关文章

  • Eclipse IDE - 错误:构建路径指定执行环境 Java SE 1.7

    在 Eclipse 中 我收到一个错误 构建路径指定执行环境Java SE 1 7 工作区中没有安装与此环境严格兼容的 JRE 尝试这个 In Eclipse your project gt properties gt java build
  • 如何在 C# 中使用 Selenium WebDriver 获取当前窗口的 URL?

    在我的应用程序中 登录时 它会导航到另一个页面 现在我需要在 selenium C 中使用 WebDriver 获取新的 URL 我找不到任何函数来执行此操作 我努力了driver Url driver getLocation and dr
  • 我可以在某些网格中打印带有颜色的 pandas 数据框吗?

    我有一个 pandas DataFrame 我想突出显示一些数据 例如 In 1 import pandas as pd In 2 import numpy as np In 3 df pd DataFrame np reshape ran
  • List 与 IEnumerable 的协变和逆变

    所以 假设我有 Public Interface ISomeInterface End Interface Public Class SomeClass Implements ISomeInterface End Class 如果我有MyL
  • 如何在express中动态渲染/加载页面?

    我需要使用express gt 3 0 框架动态加载 渲染nodejs v1 8 15 中页面的一部分 一般来说 我想创建一个单页应用程序 我在页面顶部有一个带有链接的菜单 单击链接将更改下面的内容 就像 AJAX 页面加载一样 例如 gt
  • 使用 mongoimport 从 Windows 文件夹批量导入 MongoDB

    我的存档中有很多 json 文件 我需要将它们导入到 mongo 每一个操作中 我认为它可能是循环的 你对此有什么想法吗 如果您使用的是 Linux Unix shell 您可以尝试 for filename in do mongoimpo
  • 只允许在输入字段中输入数字

    我想要打开电话号码字段这个网站 http myfrugaltech com dev savoo register 只接受数字或数字 我无权编辑 HTML 代码 那么可以使用 jQuery 通过定位字段 ID 来完成此操作吗 如果可以的话 该
  • 如何使用 Typescript 将 jest.spyOn 与 React 函数组件一起使用

    我正在使用 Typescript 和 hooks 开发一个 React 应用程序 并且尝试使用 Enzyme 和 Jest 来测试功能组件 我无法使用 jest spyOn 来测试我的组件中的方法 jest spyOn 方法无法正确解析并在
  • 如何从 fetch API 返回 json 响应

    我有一个像这样的函数 check auth fetch Urls check auth credentials include method GET then response gt if response ok return respon
  • 复杂对象上的 GroupBy(例如 List

    Using GroupBy and Count gt 1我试图在列表中查找我的类的重复实例 该类看起来像这样 public class SampleObject public string Id public IEnumerable
  • 同时使用多个控制台

    是否有捷径可寻 我现在仅使用控制台测试我的网络应用程序 最好的办法是从一个项目中拥有多个控制台 然后按一下 立即调试 菜单项 我可以像过去一样使用多个项目 但这似乎很笨拙 理想情况下 我可以启动多个控制台实例 从同一线程运行很好 并且让它们
  • 无法使用 Struts 2 重定向 JSP 文件并显示值

    我创建了一个简单的程序 使用文本字段获取用户的名字和姓氏 但问题是 当我单击提交按钮时 我无法将其重定向到另一个显示用户名字和姓氏的 jsp 文件 这是我的HelloAction class package com novamsc trai
  • printf 右对齐括号内的数字

    我正在编写一个程序 显示数组中的所有信息 它必须以括号中的数组索引开头 例如 2 并且它们必须彼此正确对齐 如果只是数字 我知道你可以这样做 printf 10d index 但是用括号括起来会得到以下输出 1 2 10 11 当我真正希望
  • 如何获取 git 存储库中所有文件的计数?

    如何获取 git 存储库中当前所有文件的计数 您可以使用以下命令获取 git 存储库中所有跟踪文件的计数 git ls files wc l 命令分解 The git ls files命令本身打印出存储库中所有跟踪文件的列表 每行一个 Th
  • 如何使用 Spring Security 手动注销用户?

    也许答案很简单 如何在 Spring Security 中手动注销当前登录的用户 拨打电话是否足够 SecurityContextHolder getContext getAuthentication setAuthenticated fa
  • 删除 IF ELSE 语句中的临时表

    我在这里面临僵局 问题是我必须更改使用 3 个不同临时表的过程 为了便于对话 让我们将它们命名为 temptable1 temptable2 temptable3 我无法在这里复制 粘贴整个过程 但总体思路是这样的 原始过程 procedu
  • 为什么 JDOM 的 getChild() 方法返回 null?

    我正在做一个关于 html 文档操作的项目 我想要现有 html 文档中的正文内容将其修改为新的 html 现在我正在使用 JDOM 我想在我的编码中使用 body 元素 为此 我在编码中使用了 getChild body 但它向我的程序返
  • TListView 中的中心子项目图像

    Is it possible to fix the drawing of subitem images in a TListView so that they are not cut off on the left hand side as
  • 读取完 JSON 内容和意外标记后遇到的其他文本(在我的 json 中)

    我使用 JSON Net 创建的 json feed 遇到一些问题 当我尝试解析它时 它给了我 读取完 JSON 内容后遇到的附加文本 路径 第 17 行 位置 4 我尝试用以下方法验证它http json parser online fr
  • Razor 视图类型不继承自“System.Web.WebPages.WebPage”

    我在配置 ASP NET MVC 应用程序时遇到问题 HttpException 0x80004005 Type ASP Page Currency Index cshtml does not inherit from System Web

随机推荐