2012-09-16 53 views
2

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

iCloud怎么样?

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

你的方法是什么?你问使用者为了使用iCloud或本地存储,或者如果它是可利用的,简单地使用iCloud?

回答

0

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

将iCloud用于应用程序私人数据不推荐,因为您将在未经批准的情况下用完用户空间。

只要提示你可以询问用户他们是否想要同步他们的数据,但是我发现这比甚至默认同步更容易混淆,因为多个设备可能一直工作而没有同步,用户也不会了解您的应用如何处理合并。

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

+0

这就是为什么我问。在iCloud编程指南中,没有要求或好的做法要求用户批准。它不会自动发生。如果我们使用它,取决于我们(开发者)。 这不是应用程序私人数据 - 它是用户文档 - 照片。 –

+0

Apple建议您使用iCloud作为用户文档。这就是它的设计目的。 –

4

你不需要问用户。

由于您只存储用户生成的内容,因此不存在任何问题。

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

如果你希望你的用户能够本地存储和iCloud中存储,最好的办法,恕我直言之间做出选择,是检测的iCloud可用,使用NSFileManager方法,然后,如果它的上,决定是否您的应用程序应该同步数据默认情况下。
我想这应该设置在默认情况下是上,因为这是一个iCloud的用户预期的行为,但是这是你

不管怎样,不要通过恼人的弹出询问该用户。首次发布非常令人不快,有些用户可能不理解。
如果您需要提供配置此方法的方法,请将设置包添加到您的应用,以便用户能够对其进行配置。

+0

可能有必要询问用户第三方的值(例如,从web服务获取的)是否存储到云 – brainray

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]; }

相关问题