Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如果有人删除应用程序,CKSubscription会发生什么情况?_Objective C_Ios8_Xcode6_Cloudkit - Fatal编程技术网

Objective c 如果有人删除应用程序,CKSubscription会发生什么情况?

Objective c 如果有人删除应用程序,CKSubscription会发生什么情况?,objective-c,ios8,xcode6,cloudkit,Objective C,Ios8,Xcode6,Cloudkit,如果你订阅了一些东西,你会收到有关更改的通知。您可以为此创建CKSubscription。但是,如果删除应用程序,此订阅会发生什么情况?我需要照顾它,还是CloudKit替我做这项工作 例如: 我为一个特定的用户创建了一个SUB,所以我会收到推送通知,并将SUB ID存储在我的手机上,以便在不再需要时删除它。当我删除时,这很好,这意味着我不想得到任何不。any more=并且它也从服务器中删除 但当我删除该应用程序时,它不会从CloudKit中删除,而且我会收到这个特定人的通知,尽管我的手机上没

如果你订阅了一些东西,你会收到有关更改的通知。您可以为此创建
CKSubscription
。但是,如果删除应用程序,此订阅会发生什么情况?我需要照顾它,还是CloudKit替我做这项工作

例如:

我为一个特定的用户创建了一个SUB,所以我会收到推送通知,并将SUB ID存储在我的手机上,以便在不再需要时删除它。当我删除时,这很好,这意味着我不想得到任何不。any more=并且它也从服务器中删除

但当我删除该应用程序时,它不会从CloudKit中删除,而且我会收到这个特定人的通知,尽管我的手机上没有关于他/她删除其SUB的信息,因为我重新安装了该应用程序

我应该如何做到这一点


提前谢谢

订阅将保持活动状态,但通知不会到达用户,因为应用已被删除。所有用户数据也将保留在CloudKit中。这样他就可以重新安装应用程序,一切都原封不动。无法检测用户是否删除了你的应用。

嗨,Edwin,我知道我们应该在应用的生命周期中订阅用户一次,但如果无法删除该订阅,如何检查不重新订阅删除应用的用户并重新安装。因为如果您订阅多次,将收到重复的通知。感谢您在CloudKit中不能创建同一订阅两次。如果用户重新安装该应用程序并创建相同的订阅,则您将收到一个CloudKit错误,该错误已经存在。如果确实要检查所有订阅,则可以使用FetchAllSubscriptionWithCompletionHandler删除所有订阅。此处相同…删除应用并重新安装后,SUB将保留在云中,因此如果我再次订阅,将发出重复通知。在这种情况下,如果我再次订阅,我将得到一个错误,即SUB已经存在。如果我为在公共区域中创建记录的指定用户创建订阅,我必须将Sub保存到公共DB,还是可以使用private?(希望你能理解我的观点)我以为你不能在私有数据库中创建订阅?这将是毫无意义的,因为你们不会因为自己所做的改变而得到通知。没有人会在私有数据库中写入。我认为您可以在私有数据库中创建订阅。如果您有多台iOS设备使用相同的iCloud帐户登录,那么这一点是有意义的。您的其他设备将收到通知,从而从云端更新记录。