我正在测试通过CloudKit请求可发现性的代码:
CKContainer.defaultContainer().requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability,completionHandler: { (status:CKApplicationPermissionStatus,error:NSError!) -> Void in if status == CKApplicationPermissionStatus.Granted { ... } else if status == CKApplicationPermissionStatus.Denied { .... } else { println("Request result: \(status)") } })
但是如何重置结果呢?即使我删除并重新安装应用程序,我也会被问及一次,而不会再被问到.如果我再次运行此代码,我会立即进入完成块,其结果与上次相同.
我看到another question和post on Apple’s old forums(需要登录)说它可以通过转到设置重置 – > iCloud – > iCloud Drive – >通过电子邮件向我看.但是这样做并没有给我任何选择:
我确定我可以通过类似设置重置它 – >一般 – >重置 – >重置所有设置(或者可能重置网络设置)[但请参阅此处的其他信息],但必须有一些方法可以重置CloudKit权限,而无需进行大量不相关的设置.如果用户拒绝许可但后来改变主意怎么办?
更新:一些其他信息:
>在模拟器上,设置 – >一般 – >休息 – >重置位置&隐私无效.
>同样在模拟器上,“重置内容和设置…”无效.
>尝试使用其他设备在不同的Mac上生成完全相同的结果.
以上引导我怀疑它是服务器端设置.所以我尝试使用我正在使用的帐户登录iCloud.com,然后转到设置 – >数据&安全 – >通过电子邮件向我看.与iOS设备和模拟器一样,没有任何选择可以做任何事情:
那么,有没有什么方法可以重置这个,或者它是固定在石头上并且不可改变,直到太阳膨胀并摧毁地球?