在"我的设置"选项卡栏中:

  1. 我有一个功能特定的switch ,可以根据API响应关闭或打开.
  2. 从网站上,只有管理员有权打开/关闭.
  3. 我可以在每次点击设置时调用/user API来判断用户的当前设置,但有两个缺点,比如如果用户已经在设置,那么它将不会更新UI,每次点击设置时调用API听起来不是一个完美的解决方案.

我认为更好的解决方案是发送一个静默推送通知,我可以使用它在需要时调用API来更新设置UI.

但如果用户禁用了推送通知,我还会收到静默推送吗?处理此类情况的建议方法是什么?

推荐答案

简单回答,yes

对于iOS 8中的应用开发者来说,一个令人兴奋的新机会是,即使用户 Select 退出通知,苹果现在也将提供"silent"推送.此外,"silent推送"不再只适用于报摊应用程序.每个应用程序都可以利用这一功能在后台刷新内容,在用户打开应用程序的那一刻创造出最新、最快速的体验.

虽然

Users still have the ability to switch off your app’s ability to process a “silent push” by means of the “Background App Refresh” control. Even though Apple Push Notification service (APNs) will deliver a push marked “content-available” to your phone, the OS will not wake up your app to receive it, effectively dropping it on the floor. However, opting out of “Background App Refresh” is a lesser-known capability not directly associated with Notifications. You don’t access this preference in your Notifications Settings--it’s located under General > Background App Refresh screen.

在构建应用程序时,请记住这一点.

资料来源:

Objective-c相关问答推荐

导航回上一个视图控制器

当前周开始和结束日期

如何创建 NSIndexPath:indexPathWithIndexes:length 所需的索引:

如何获取 AppIcon 的 UIImage?

重复符号 _OBJC_METACLASS_$_ClassName

如何在 iOS SDK 中使用语音识别?

动态转发: suppress Incomplete Implementation 警告

iOS 7 - viewDidLoad 和 viewDidAppear 之间的区别

Xcode:可以为协议接口所需的方法自动创建存根吗?

为什么是 [object doSomething] 而不是 [*object doSomething]?

iOS 5 不允许将下载的数据存储在 Documents 目录中?

具有多个嵌入 segues 的 ContainerView

Objective-C 中的 super 到底是什么?

获取字符串的最后 2 个字符?

如何在嵌入 UIViewController 的 UITableView 中直观地创建和使用静态单元格

如何将 nil 添加到 nsmutablearray?

强制iOS应用程序崩溃的最快方法是什么?

深入了解保留周期

Objective-c 2.0 中的可选参数?

目标覆盖 FRAMEWORK_SEARCH_PATHS 构建设置