【发布时间】:2016-11-01 20:50:36
【问题描述】:
我是 iOS 开发新手,这是我的场景:
App1:从网络(私有网络,通过 Wi-Fi 连接,无法访问互联网)提取数据,我想将其存储在文件或数据库中。
App2:需要访问文件/数据库。
既然我不能使用 iCloud,还有什么其他的解决方案?应用组是否适用于此?
【问题讨论】:
我是 iOS 开发新手,这是我的场景:
App1:从网络(私有网络,通过 Wi-Fi 连接,无法访问互联网)提取数据,我想将其存储在文件或数据库中。
App2:需要访问文件/数据库。
既然我不能使用 iCloud,还有什么其他的解决方案?应用组是否适用于此?
【问题讨论】:
因此,作为 iOS 应用程序的沙盒,您的选择非常有限。您不能在公共应用组中的两个应用之间共享 CoreData 中的数据。
您可以将数据存储在共享的NSUserDefaults 中。但是,根据共享数据的大小,它可能无法很好地工作。如果数据不是太大,实现起来很容易。
如果您正在下载一个大文件,您可以保存该文件,然后使用 UIDocumentInteractionController 将其从应用程序 1 传递给应用程序 2,以将整个文件传递给应用程序 2。然后应用程序 2 必须处理数据以供使用.这适用于更大的数据,但用户体验还有很多不足之处。
在自定义 URL 方案、使用粘贴板等方面,您还有其他一些选择,但在应用程序之间传递大量数据在 iOS 上并不是很好的体验。
以下是数据共享选项的详细分类:http://www.enharmonichq.com/sharing-data-locally-between-ios-apps/。
您为什么不能让 App 2 也从 App 1 从中提取的同一私有服务器中提取,这是有原因的吗?我知道它正在复制存储在设备上的数据,但似乎来回传递这些数据(如果 App 2 可以更新数据)并管理这将比为两个应用程序创建一个通用框架以从服务器中提取数据更有效。
【讨论】: