我知道使用ios 4可以根据本文档在后台运行应用程序 http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html
这个文件指出,如果应用程序连续更新用户在后台的当前位置,那么就可以在后台运行它。但是我们是否必须只使用CLLocationManager来更新当前位置?我们是否可以使用其他api如google latitude用于更新当前位置的api?那么应用程序是否可以永远在后台运行?
答案 0 :(得分:1)
据我所知,如果您在info.plist中定义了值为UIBackgroundModes
的{{1}},系统应该允许应用程序根据需要运行的背景”。所以,第一个答案是肯定的,应用程序可以在后台运行,它将无限期运行(达到电池寿命)。实际上,这很容易检查。
无论如何,在我看来,这种功能对于类似GPS的应用程序是“保留的”,并且Apple真的关心它的使用:
对于需要定期更精确定位数据的应用程序(例如导航应用程序),您需要将应用程序声明为连续后台应用程序。此选项适用于真正需要它的应用程序,但它是最不可取的选项,因为它会大大增加功耗。
所以,我知道Apple会彻底筛选所有激活此模式的应用程序,以评估他们是否真的需要持续更新或不这样做(在这种情况下,可能不会让应用程序进入App Store)。
现在,为了回答你问题的第二部分,我认为Apple会知道你的应用是否真的符合规则的一种方式是使用location
。风险在于,如果您使用其他服务,Apple会在审核您的应用时认为您只需要后台时间而无需不断更新位置。
但这只是猜测...