应用程序是否应该要求iCloud使用权限?

时间:2012-09-16 13:36:18

标签: ios icloud user-permissions

当我们需要获得访问GPS坐标的权限时,系统会自动为我们执行此操作。与应用程序内购买类似,框架会自动确认用户是否真的想要购买东西。

iCloud怎么样?

我正在开发一个拍摄照片的应用程序,我正在考虑添加iCloud。 为什么不 - 如果用户可以在他/她拥有的任何设备上访问他/她的专辑,那就太酷了。 但每张照片都有很大的尺寸。 200张照片和1千兆字节消失了。

你的方法是什么?您是否要求用户使用iCloud或本地存储,或者只是使用iCloud?

3 个答案:

答案 0 :(得分:5)

您无需询问用户。

由于您只存储用户生成的内容,因此没有问题。

请记住,用户可以从系统设置启用/禁用iCloud,并可以禁用应用程序的数据存储。
他还可以删除每个应用程序的用户数据。

如果您希望用户能够在本地存储和iCloud存储之间进行选择,最好的方法是使用NSFileManager方法检测iCloud是否可用,然后,如果它已启用,则决定是否您的应用应默认同步数据 我想这个设置默认情况下应该打开,因为这是iCloud用户的预期行为,但这取决于你

无论如何,不​​要通过烦人的弹出窗口询问用户。第一次发布时非常恼火,有些用户可能不理解 如果您需要提供配置方法,请将设置包添加到您的应用中,以便用户能够对其进行配置。

答案 1 :(得分:1)

看起来苹果可能已经更新了他们的文档,因为其中一些答案。虽然我个人认为这可能有点刺耳(并且不知道我看到大量的应用程序可以做到),但Apple确实建议在他们的iCloud设计指南中这样做。他们甚至会为您提供警报本身的代码:

if (currentiCloudToken && firstLaunchWithiCloudAvailable) {
    UIAlertView *alert = [[UIAlertView alloc] 
    initWithTitle: @"Choose Storage Option"
          message: @"Should documents be stored in iCloud and available on all your devices?"
         delegate: self
cancelButtonTitle: @"Local Only"
otherButtonTitles: @"Use iCloud", nil];
// and
     [alert show];
}

答案 2 :(得分:0)

如果用户使用您的应用创建或上传数据,并希望在其他iOS或OSX设备上看到相同的数据,那么使用iCloud是有意义的。

建议不要将iCloud用于应用专用数据,因为未经批准您将耗尽用户空间。

就提示您可以询问用户是否要同步他们的数据而言,但我发现这甚至比仅默认同步更令人困惑,因为多个设备可能在没有同步且用户不理解的情况下工作您的应用如何处理合并。

如果空间不足,用户可以在设置中删除iCloud中的文件。所以没什么大不了的。