0

Uber 等应用通过向 Uber 的 API 发送 GET 请求来检查汽车的状态。我假设 Facebook 和电子邮件应用程序在检查通知和新电子邮件时会做同样的事情。这在后台如何工作?我如何让这些应用程序检查汽车的状态,或者是否有人给我发了电子邮件,或者东西是否准备好了?他们是在使用后台获取还是其他东西?

4

1 回答 1

2

您可以使用静默远程通知来调用后台进程。根据苹果文档,

当静默通知到达时,iOS 会在后台唤醒您的应用程序,以便您可以从服务器获取新数据或进行后台信息处理。用户不会被告知由静默通知产生的新信息或更改信息,但他们可以在下次打开您的应用程序时了解它。

要支持静默远程通知,请将 remote-notification 值添加到 Info.plist 文件中的 UIBackgroundModes 数组中。要了解有关此数组的更多信息,请参阅 UIBackgroundModes。

详情https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

您可以检查您的应用程序是否处于后台模式,然后您可以调用后台进程的方法。

if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground)
{
    //call your background methods.
}
于 2015-08-30T14:21:50.010 回答