【发布时间】:2015-10-27 12:08:49
【问题描述】:
我正在测试通过 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 设备和模拟器上一样,根本没有任何选项可以做任何事情:
那么,有没有任何方法来重置它,或者它是固定在石头上并且在太阳膨胀并摧毁地球之前不会改变?
【问题讨论】: