切换到 enable/disable 本地通知 (swift 4)

Switch to enable/disable local notifications (swift 4)

我正在制作一个 Todo 应用程序,在应用程序设置中应该有一个切换按钮 enable/disable 所有本地通知。

我尝试了 removeAllPendingNotificationRequests() 方法,但它会完全删除所有通知,我想让它们保持计划但什么都不做。有可能吗?

非常感谢

您无法从该应用更改通知设置,但您可以将用户引导至您的应用设置,以便他们可以更改通知设置

if let aString = URL(string: UIApplicationOpenSettingsURLString) {
            UIApplication.shared.open(aString, options: [:], completionHandler: { success in
                SlideNavigationController.sharedInstance().closeMenu {

                }
            })
        }

据我了解,您需要禁用通知请求,但保存它们以防用户重新启用开关。是吗?

在这种情况下,您可以将所有未决通知保存为数据库(或文件等)中的一些自定义数据实体,然后通过调用 removeAllPendingNotificationRequests().

将其删除

如果用户重新启用开关,您将需要从本地保存的数据实体重新创建通知请求。