【发布时间】:2011-12-08 04:06:03
【问题描述】:
当用户打开他们的设备时,我想显示一个弹出窗口,告诉他们禁用应用程序的 iCloud 备份。
是否可以检测用户是否为我的应用启用了备份?
是否可以将用户带到设置->iCloud->存储和备份->管理存储->iPad,这是禁用备份的开关所在的位置?
【问题讨论】:
标签: iphone objective-c cocoa-touch ipad ios5
当用户打开他们的设备时,我想显示一个弹出窗口,告诉他们禁用应用程序的 iCloud 备份。
是否可以检测用户是否为我的应用启用了备份?
是否可以将用户带到设置->iCloud->存储和备份->管理存储->iPad,这是禁用备份的开关所在的位置?
【问题讨论】:
标签: iphone objective-c cocoa-touch ipad ios5
这里有一个例子:
每个拥有 Apple ID 的用户都会收到一个免费的 iCloud 帐户,但有些用户可能会选择不为给定设备启用 iCloud。在尝试使用任何其他 iCloud 接口之前,您必须调用 URLForUbiquityContainerIdentifier: 方法来确定是否启用了 iCloud。此方法在启用 iCloud(并且指定的容器目录可用)时返回有效 URL,在禁用 iCloud 时返回 nil。
当您第一次为给定容器目录调用 URLForUbiquityContainerIdentifier: 方法时,iOS 会扩展您的应用程序沙箱以包含该容器目录。因此,至少调用此方法一次以确保启用了 iCloud 并且您的主容器目录可访问,这一点很重要。如果您的应用程序访问多个容器目录,您应该为每个目录调用一次该方法。
这意味着如果目录在 iCloud 中不可用,它应该返回 nil。
NSFileManager 文档也有这个:
containerID [...] 如果您指定 nil,此方法将返回 com.apple.developer.ubiquity-container-identifiers 权利中列出的第一个容器。
返回值
指向指定容器目录的 URL,如果无法找到容器或当前用户或设备无法使用 iCloud 存储,则为 nil。
权利设置可能默认包含第一个路径。
【讨论】: