在iOS中运行的后台服务(Running background services in iOS)

2019-06-26 04:16发布

我需要编写一个iOS应用程序将数据发送到服务器每隔30分钟。 可当应用程序在后台工作的呢? 如何可靠的可以吗?

Answer 1:

有没有办法永久在您所请求的时间间隔在后台执行任务。 您可以通过开发者连接请求特定的权限,但我必须警告你,你将需要一个非常有说服力的论据。 包括我的文档下方,也许你的要求下降,可以永久运行一个分组内。 或者,也许你可以使用长时间运行的后台线程之一,因为它符合你尝试执行任务的方式适应它。

直接从苹果公司的文档:

实现长时间运行的后台任务

对于需要更多时间执行任务的落实,必须要求特定的权限,以在没有他们被暂停后台运行它们。 在iOS中,只有特定的应用程序类型被允许在后台运行:

  • 应用程序在后台播放音频内容给用户,同时,诸如音乐播放器应用程序
  • 应用程序,使用户了解自己的位置在任何时候,如导航应用
  • 支持互联网语音协议(VoIP)应用程序书报亭的应用程序,需要下载并处理新内容
  • 从外部附件接受定期更新应用程序

实现这些服务的应用必须声明它们所支持的服务和使用的系统架构来实现这些服务的相关方面。 声明的服务让系统知道哪些服务可以使用,但在某些情况下,它是实际防止被暂停您的应用程序的系统框架。

线〜/结束



Answer 2:

在iOS7新的多任务处理的API被引入,由于它可以运行后台任务为无限长。 苹果鼓励使用NSURLSession它创建了一个背景会话和入队转移API

新UIBackgroundModes其中包括“背景提取”和“远程通知”中iOS7也介绍了在后台运行的服务帮助



Answer 3:

有没有办法做到这一点,除了由内部监督办公室提供的一些特殊情况下的服务,如https://stackoverflow.com/users/1515108/im-lp说。 但是你可以模拟它。 这个帖子答案如何:

https://stackoverflow.com/a/19121250/2835520

我希望这是要去帮助!



文章来源: Running background services in iOS