【问题标题】:Best way to transfer large data between iPhone and iPad apps在 iPhone 和 iPad 应用程序之间传输大数据的最佳方式
【发布时间】:2014-02-04 17:52:13
【问题描述】:

我正在研究在 iOS 应用程序之间传输数据的不同方式,例如 UrlScheme、Shared Keychain、UIActivity、Custom Url 等。

但是我想知道在应用程序之间传递大量数据(例如 1 或 2 张照片)以及一些标准文本数据的最佳方式是什么。 iCloud 不可用。

鉴于数据可能非常大,任何人都可以就这些方法中哪种方法最适合此任务提供建议吗?

【问题讨论】:

  • 如果您只需要对 iOS 7 的支持,请查看新的 Multipeer Connectivity 框架。
  • Multipeer Connectivity 允许在同一设备上的应用程序之间共享数据?
  • @Mungbeans 也许我误读了这个问题。我的评论是为了在运行相同应用的设备之间传输数据。
  • @Fittoburst 您需要在同一设备上的应用程序之间传输还是在两台设备之间传输?如果在同一台设备上,这两个应用程序是由同一开发者开发的吗?如果在同一设备上由同一开发人员编写的两个应用程序之间传输,请使用 UIPasteBoard 和私人命名的粘贴板。
  • @Maddy 它正在同一设备上的不同应用程序之间传输大量数据(照片+文本)。

标签: ios iphone ipad


【解决方案1】:

大概您已经找到此链接 - 第 4 个答案总结了您询问的选项的优缺点: Share data between two or more iPhone applications

我首先想到的是添加“在 {Some Other App] 中打开”功能,因为这几乎是自 iOS6 以来用户所期望的标准交互。我想这是否是“最好的”取决于你想用第二个应用程序中的数据/图像做什么......

第一个/“发送”应用子类化和管理 UIActivityViewController。您可以在此处自定义要提供的选项(例如“在第二个应用程序中打开”、“打印”等)。您使用 UIActivityItemProvider 子类来包装您要发送的数据。这符合 UIActivityItemSource 协议来处理回调等。您可以创建自定义文件类型,或使用第二个应用程序支持的常见文件类型。

receiving 应用向系统注册支持的文件类型。这可以是您定义的自定义类型/扩展名,也可以是 JPG、PNG 等常见格式,只要您实际发送该类型并且接收应用程序告诉系统它处理该类型文件类型。

“Absolute Ripple”有一个深入的 3 部分教程,介绍了通过 UIActivityViewController 自定义包装和发送数据到另一个应用程序(在本例中为社交媒体和邮件)的过程: http://www.absoluteripple.com/1/post/2013/06/customising-activity-view-controller-mail.html

本博文中的“The Other Steve Smith”简要介绍了创建/注册自定义统一类型标识符或文件类型以及目标应用的自定义图形。 http://stevenpsmith.wordpress.com/2013/03/11/using-custom-file-types-to-import-data-into-your-ios-apps/

也许根本不是您想要的,但如果是这样,我希望对您有所帮助

【讨论】:

  • 基本上,第一个应用会收集用户名/地址和一两张相关照片等数据。然后需要将其“传输”到第二个应用程序,该应用程序将收集数据、存储在数据库中并与外部服务同步。似乎 UIActivityViewController 是最好的。我可以创建自己的“类型”文件来包含我的数据,然后我的自定义第二个应用程序将是唯一出现的,因为它是唯一可以识别该文件类型的应用程序,这是否正确?
  • 将基本数据收集和摄像头访问集成到第二个应用程序中会容易得多,但如果必须这样的话......是的,上面的最后一个链接讨论了这个过程创建自定义文件类型并设置应用程序以识别它。
  • 感谢您的建议
【解决方案2】:

如果您只需要传输照片,您可以使用相机胶卷。

  1. 使用 ALAssetsLibrary 将图像保存到相机胶卷,这将在 completionBlock 中提供assetURL。
  2. 将图像assetURL 传输到第二个应用程序(例如使用lunchOptions)
  3. 在第二个应用中加载图片。

【讨论】:

  • 第二个应用程序加载后如何删除照片?假设应用程序想要在转移后进行整理
  • 恐怕不行。但这是在离线模式下传输图像的方式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
相关资源
最近更新 更多