【发布时间】:2012-03-20 15:29:26
【问题描述】:
我有一个 iPhone 应用程序,我的一些用户正在他们的 iPad 上以模拟模式运行。我们也在考虑创建一款针对 iPad 优化的应用,这将是 App Store 中的一个单独应用(功能更多,价格不同)。
问题是:如果用户在 iPad 上运行 iPhone 应用程序,然后他们购买了我们的 iPad 优化版本,他们如何将数据从仅限 iPhone 的应用程序迁移到新的 iPad 应用程序?
以下是我考虑过的一些替代方案:
- 按照其他 SO 问题中的建议,安全钥匙串。问题是这只允许传输一小部分数据。我们的用户可能拥有数十兆字节的数据
- 注册 URI 方案(在其他 SO 问题中也有建议,似乎也仅针对非常少量的数据而设计)
- 让用户将数据从仅限 iPhone 的应用程序上传到 Dropbox 或 box.net 等服务,然后从 iPad 版本再次下载该数据。优点是这些服务具有非常简单的 API;缺点是用户可能需要创建一个额外的帐户和/或下载另一个应用程序才能移动数据
- 创建一个 iCloud 文档。无需注册,但简单地说,设置 iCloud 存储是不平凡的
是否有任何其他选项可以在同一设备上的两个应用之间传输数十兆字节的数据。
【问题讨论】:
-
关于 URI 方案仅适用于少量数据的断言,您有什么证据?从应用程序传递到应用程序的 URL 是否有长度限制?否则你可以只对你的数据进行base 64编码,然后把你想要的任何东西放在那里。我不认为 API 中内置了 base 64 编码器(尽管它们真的很容易编写),但是有一个隐式解码器,因为 NSURL 支持
data:URL,NSData可以从它们加载。
标签: iphone ios file-transfer