是否可以注册 CKSubscription 推送通知而无需询问用户



目前,您必须具有用户授予的通知权限:

UIApplication *application = [UIApplication sharedApplication];
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];

是否仍然可以在不请求许可的情况下获取订阅的远程通知?顺便说一下,我的 CKSubscription 是针对记录区域的。

实际上,似乎有一种方法可以接收CKSubscription注释,而不会混淆要求他允许这些"可见通知"的用户。

为此,您应该省略[application registerUserNotificationSettings:settings]行代码,只需调用[application registerForRemoteNotifications]而无需任何预配置。

接下来,要使应用程序能够以静默方式接收推送笔记,请转到应用程序的功能,激活"后台模式"并选中"远程通知"选项。

祝您编码愉快!

我希望

有一种方法可以在不打扰用户的情况下做到这一点。特别是因为即使用户说"否",iCloud仍然会收到所需的通知。因此,警报询问用户确实毫无意义。

但问题是,对registerForRemoteNotificationsregisterUserNotificationSettings:的调用并不是iCloud特有的。

我认为任何使用 CloudKit 的人都需要向 Apple 提出增强请求,要求提供一个 API,让应用程序注册 iCloud 通知,而无需提示用户授予权限(无论如何都会忽略其结果)。

直接回答您的问题 - 不,目前无法在不不必要地提示用户的情况下注册iCloud通知。

相关内容

  • 没有找到相关文章

最新更新