因此我的iphone4应用程序从加速度计读取数据并通过tcp套接字将其发送到另一个应用程序。我需要我的应用程序在后台模式下工作,所以我做的是:
但是,只要按下iphone的主页按钮,调度程序就会暂停应用程序。我错过了什么吗?
我阅读了苹果的文档,但我找不到解决方案。关于这一点的一些想法:
最后,说我让这个工作,应用程序仍然会从加速度计获取数据吗?
在旁注中,我不想将应用程序提交到App Store。
答案 0 :(得分:4)
不,您不会在后台模式下收到加速计通知。据我所知,这是不可能的。检查Executing Code in Background。
如果您仔细阅读文档,您将会知道整个背景代码模型基于对特定事件(location
和voip
模式)的响应。
至于audio
模式,这里是Apple的摘录:
您的申请应限于仅从事必要的工作 提供在后台播放的数据。例如,a 流音频应用程序将从其下载任何新数据 服务器并将当前音频样本推出以进行播放。你应该 不执行与播放无关的任何无关任务 内容。
答案 1 :(得分:0)
不确定您是否已经解决了您的问题,因为这个问题是在一年多前发布的。此外,不确定在您的应用中是否必须播放音频。如果两个答案都不是,我最近的调查可能会有所帮助。
以下是我如何让我的应用在后台获取加速度计数据 1.按照本教程http://mobile.tutsplus.com/tutorials/iphone/ios-multitasking-background-location/进行操作以获取后台位置。 2.按照本教程http://jonathanhui.com/ios-motion使加速度计工作。
然后你可以在后台获得一个收集加速度计数据的应用程序。希望这会有所帮助。