在后台运行的iPhone应用程序可以通过USB接口传输数据吗?

时间:2010-11-23 22:26:03

标签: ios iphone background usb transfer

有2个iPhone应用程序。一个应用程序在前台运行,另一个在后台运行。有没有办法让后台应用程序通过USB发送数据而不会进入前台?理想情况下,我们希望将前台应用程序保留在前台,而后台应用程序则处理一些数据。处理完数据后,它会通知前台应用程序数据已被处理。

3 个答案:

答案 0 :(得分:2)

不,不能。如果不使用私有框架,它甚至无法做到这一点,除非您使用的是Made for iPhone程序。如果您是,那么您的组织将根据您提供的文档知道您可以访问和不访问的内容,时间和方式。

如果您使用的是Made for iPhone计划,并且不清楚您有权访问何时以及何时访问,请联系您组织中与Apple有技术联系的人员,他们将能够为您提供帮助细节。

答案 1 :(得分:0)

如果在应用程序位于前台时启动任务并且您调用了相应的beginBackgroundTask / endBackgroundTask方法,则应该可以在应用程序后台运行后继续运行。

请注意,对USB的访问受到限制(请参阅jer的回答)并且在同一设备上的不同应用之间没有官方认可的方式进行通信。此外,您只能在App Store中一次购买/下载一个应用程序,我无法看到Apple批准的应用程序需要您下载第二个应用程序才能运行。所以你可能首先要解决更大的问题。

答案 2 :(得分:0)

如果你告诉我们你真正希望实现的目标,那么显着会有所帮助。例如,“我希望用户手机上的MyApp与用户计算机上的MyApp通信”。

绝对最简单的方法是在手机和计算机之间发送数据,要求它们都在同一个Wi-Fi网络上。一些iPhone应用程序包含一个Web服务器(这是OS 3.2之前“文件共享”最简单的方法),还有更多iPhone应用程序连接到运行服务器软件的计算机。

您的其他选择,或多或少:

  • 反向设计GameKit的蓝牙端并在计算机端重新实现它。我不知道有谁做过这件事。宽松地说,我认为它是通过蓝牙PAN的IP以及某种蓝牙服务发现。
  • 音频输入/输出,例如耳机插孔或底座连接器上的某些插针。我不完全确定麦克风侧是如何工作的(当我检查时,碳素麦克风的阻力有点高),但你可能会很幸运并找到一种方法将它变成“线路输入”或找到“线路输入”底座连接器上的引脚。
  • 指向iDevice屏幕的网络摄像头(以及指向计算机屏幕的iDevice摄像头)。 Ewwwww。
  • 加入MFi计划。