【问题标题】:How to transfer a file from a Mac application to an iOS viewer?如何将文件从 Mac 应用程序传输到 iOS 查看器?
【发布时间】:2014-10-02 15:33:12
【问题描述】:

我们想开发一个类似于 InDesign 中的功能:当您创建“作品集”时,您可以在 iOS“查看器”应用程序中预览它,提供:

  • iOS 设备已通过 USB 数据线连接到 Mac
  • “查看器”在 iOS 设备上打开。

此功能的描述可在http://helpx.adobe.com/digital-publishing-suite/help/preview-folios-articles.html#use_preview_on_device 获得。

有2个问题:

  • InDesign 如何检测到“查看器”应用程序已在设备上打开?
  • InDesign 如何将文件传输到 iOS 设备,并让“查看器”打开文件?

我们知道使用 iTunes 可以传输文件,但这不是 InDesign 使用的方法(他们这样做的方式要简单得多)。

到目前为止,在 Stack Overflow 上搜索或搜索似乎无法提供可靠的答案。

【问题讨论】:

  • 您是否考虑过在您的 Mac 应用程序中设置本地网络服务,然后在 iOS 应用程序上通过 Wi-Fi 将其拉入?
  • 是的,这是我们大多数竞争对手的做法。但它远不如 Adob​​e 的方法优雅。
  • 我认为它优雅,因为用户不需要将电缆连接到计算机。 Bonjour 等协议也可以确保可靠的连接。

标签: ios objective-c macos


【解决方案1】:

好吧,从 USB 访问 iOS 设备没有得到 Apple 的授权,所以你有三种可能性:

  • 使用 Apple 的 MobileDevice 私有框架,您可以通过 AFC 使用应用的 Document 文件夹从应用中读取文件。
  • 使用libmobiledevice,一个开源的跨平台库,与 MobileDevice 相同,但在 iOS 版本之间不太稳定。
  • 使用usbmux 隧道通过套接字连接到您的应用(需要 MobileDevice 或 libimobiledevice)

我认为usbmux是最好的解决方案,usb中使用的协议没有太大变化而且非常稳定,即使在libimobiledevice中也是如此。

【讨论】:

  • 感谢您的回答,但我正在寻找苹果授权的东西。您认为 Adob​​e 是否获得了 Apple 的特别授权?
  • 不,我认为 Adob​​e 只是一种使用 usbmux 的方式。Apple 似乎接受了 usbmux 通信。 DeviceSync (itunes.apple.com/app/devicesync-for-ios/id737867459) 使用 peertalk 库 (github.com/rsms/peertalk)
  • 抱歉,我不确定我是否理解。您首先提到“从 USB 访问 iOS 设备未经 Apple 授权”。在您的评论中,您提到“Apple 似乎接受 usbmux 通信”。那么,归根结底,usbmux 是否被授权?
  • 正如 peertalk 页面中所说,它未经授权,但 Apple 接受一些使用它的应用程序。如果您打算将应用程序发布到 AppStore,则需要一些运气才能被接受。所以答案是否定的,Apple 不接受。
  • 再次感谢您的评论。那么,您认为 Adob​​e 是幸运的吗?
猜你喜欢
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2021-03-02
相关资源
最近更新 更多