是否可以在IOS应用程序进入后台后继续运行?

时间:2013-12-03 13:12:16

标签: ios

我需要将应用程序保持在返回前台时的状态。在应用程序转到后台之前,我是唯一一个努力工作并在某些设置文件中保留应用程序的完整状态的唯一选择,或者我可以像在Android中一样保持我的应用程序活动吗?

2 个答案:

答案 0 :(得分:4)

There is a good answer on stackoverflow about that.

总之,如果应用程序:

,您只能保持应用程序正常运行
  
      
  • 在后台播放可听内容,例如音乐播放器应用
  •   
  • 始终向用户通知他们的位置,例如导航应用
  •   
  • 支持互联网协议语音(VoIP)
  •   
  • 是需要下载和处理新内容的报亭应用
  •   
  • 接收来自外部配件的定期更新
  •   

对于蓝牙设备,您可以在info.plist中添加以下模式:

  
      
  • external-accessory-该应用程序适用于需要通过外部定期提供更新的硬件配件   附件框架。
  •   
  • bluetooth-central-该应用程序与蓝牙配件配合使用,需要通过以下方式定期提供更新   CoreBluetooth框架
  •   

有关详情,请查看that answer或此tutorial

在iOS7中,您有background fetch但在您的情况下无用。

重要提示注意:如果您尝试使用这些模式中的任何一种,并且未使用模式所期望的操作,则可能会在appstore上拒绝您的应用。

答案 1 :(得分:1)

是的,在以下情况下这是可能的:

该应用播放音频
该应用程序使用位置更新(gps)
该应用程序使用voip
该应用程序下载报刊亭项目
该应用程序与外部配件通信
该应用程序使用蓝牙LE配件
该应用程序充当蓝牙LE配件
该应用程序在后台下载大文件
该应用使用远程通知

要使用这些功能中的任何一项,您的应用需要将“应用程序无法在后台运行”设置为“否”以及所使用的后台模式的相应标志。请注意,在未实际使用该特定功能的情况下使用这些标志会让您从iStore中被拒绝。

了解更多信息see the docs