如果我制作了两个 iPhone 应用程序,如何/应该在它们之间共享自定义数据(不是联系人等内容)?
谢谢!
如果我制作了两个 iPhone 应用程序,如何/应该在它们之间共享自定义数据(不是联系人等内容)?
谢谢!
有两种不同的方式可以实现这一点。
1)你需要分享的数据是非持久性的。换句话说,你需要启动一个应用程序并提供一些数据让它进行处理。在这种情况下,你需要为每个应用程序注册一种特殊的URL scheme。
你可以通过Craig Hockenberry的[已删除]博客文章获取更多有关URL schemes的信息。
2)你需要分享的数据是持久性的。换句话说,你需要像数据文件这样的东西,使得两个应用程序都可以读取和写入。据我所知,除了将数据存储在远程服务器上之外,没有其他安全的方法可以实现此目的。如果你需要在没有数据连接的情况下访问数据,则需要找到一种方法,在各个应用程序和远程服务器之间同步数据。
除了已经提到的内容外,iPhone关于代码签名的文档似乎暗示使用相同身份签名的应用可以访问相同的Keychain条目。如果您需要存储相对较小量的数据(例如密码等),这可能是一种有用的技术。
应用程序可以在iCloud上共享容器目录。
iCloud Containers字段标识了您的应用程序可以访问用户iCloud存储中的容器目录列表。 (此字段对应于com.apple.developer.ubiquity-container-identifiers权限)。 您添加到此列表中的字符串必须对应于您团队创建的应用程序的捆绑标识符。 Xcode使用当前应用程序的捆绑标识符来指定第一个字符串; 如果您希望多个应用程序共享主容器目录,则可以将其更改为不同的捆绑标识符。 您还可以为团队的其他应用程序添加其他捆绑标识符。
Dan Grisby的最新移动果园播客假设您也可以使用自定义命名的剪贴板在应用程序之间共享信息。我意识到这是一篇较旧的文章,但我认为我应该指出这一点,因为它在谷歌搜索结果中排名很高。 :)
(文档还建议在此处使用NSUserDefaults
可能很有用,但我已经在其他地方阅读到,实际上并非如此。)