目前,您必须对用户授予的通知具有权限:
UIApplication *application = [UIApplication sharedApplication];
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];是否仍然可以获得订阅的远程通知而不需要请求许可?顺便说一下,我的CKSubscription是用于唱片区的。
发布于 2016-01-15 22:13:02
我希望有一种方法可以做到这一点,而不窃听用户。特别是即使用户拒绝,iCloud仍然会得到所需的通知。因此,警报询问用户是毫无意义的。
但问题是,对registerForRemoteNotifications和registerUserNotificationSettings:的调用并不是iCloud特有的。
我认为,任何使用CloudKit的用户都需要向苹果提出增强请求,请求提供一个API,该API允许应用程序注册iCloud通知,而无需提示用户获得许可(其结果无论如何都会被忽略)。
要直接回答您的问题-不是,目前不可能注册iCloud通知而没有不必要的提示用户。
发布于 2017-04-03 13:51:33
实际上,似乎有一种接收CKSubscription笔记的方法,而不是让用户让他允许这些“可见的通知”。
要做到这一点,您应该省略[application registerUserNotificationSettings:settings]代码行,只需调用[application registerForRemoteNotifications]而不进行任何预配置。
接下来,要使应用程序能够默默地接收推送笔记,请转到应用程序的功能,激活“后台模式”并选中“远程通知”选项。
编码愉快!
https://stackoverflow.com/questions/34817752
复制相似问题