【问题标题】:In iOS5, is it possible to detect if a user has an app set to back up?在 iOS5 中,是否可以检测用户是否设置了要备份的应用程序?
【发布时间】:2011-12-08 04:06:03
【问题描述】:

当用户打开他们的设备时,我想显示一个弹出窗口,告诉他们禁用应用程序的 iCloud 备份。

是否可以检测用户是否为我的应用启用了备份?

是否可以将用户带到设置->iCloud->存储和备份->管理存储->iPad,这是禁用备份的开关所在的位置?

【问题讨论】:

    标签: iphone objective-c cocoa-touch ipad ios5


    【解决方案1】:

    这里有一个例子:

    http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html#//apple_ref/doc/uid/TP40007072-CH5-SW17

    每个拥有 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。

    权利设置可能默认包含第一个路径。

    【讨论】:

    • 这不是告诉我是否启用了 iCloud 吗?用户可以启用 iCloud,但没有启用 iCloud 中的备份。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 2015-07-30
    相关资源
    最近更新 更多