我正在制作一个Todo应用程序,应用程序设置内部应该有一个开关按钮,用于启用/禁用所有本地通知。
我尝试了removeAllPendingNotificationRequests((方法,但它完全删除了所有通知,我想安排它们,但不做任何事情。这可能吗?
非常感谢
您不能从应用程序更改通知设置,但您可以将用户导航到应用程序的设置,以便他们可以更改通知设置
if let aString = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.open(aString, options: [:], completionHandler: { success in
SlideNavigationController.sharedInstance().closeMenu {
}
})
}
据我所知,您需要禁用通知请求,但要保存它们,以防用户重新启用开关。是这样吗?
在这种情况下,您可以将所有挂起的通知保存为数据库(或文件,无论什么(中的一些自定义数据实体,然后通过调用removeAllPendingNotificationRequests()
来删除它们。
如果用户重新启用交换机,则需要从本地保存的数据实体重新创建通知请求。