Ios 应用程序如何在后台检查状态?

Ios 应用程序如何在后台检查状态?,ios,swift,xcode6.4,Ios,Swift,Xcode6.4,Uber等应用程序通过向Uber的API发送GET请求来检查汽车的状态。我假设Facebook和电子邮件应用程序在检查通知和新电子邮件时做同样的事情。这在后台是如何工作的?我如何让这些应用程序检查汽车的状态,或者是否有人给我发了电子邮件,或者是否有东西准备好了?它们是使用后台提取还是其他方法?您可以使用静默远程通知来调用后台进程。根据苹果公司的文件 当静默通知到达时,iOS会在 后台,以便您可以从服务器获取新数据或执行以下操作 背景信息处理。用户没有被告知新的或新的 更改了由静默通知产生的信息,

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

您可以使用静默远程通知来调用后台进程。根据苹果公司的文件

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

要支持静默远程通知,请添加远程通知 值添加到Info.plist文件中的UIBackgroundModes数组。学习 有关此阵列的更多信息,请参阅UIBackgroundModes

详情

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

if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground)
{
    //call your background methods.
}

我不是这个意思。例如,优步、邮递和其他应用程序都有一个请求状态检查功能。如果我想在api中检查汽车的状态,并在状态为“到达”时发送通知,他们会以某种方式这样做。无论应用程序是否打开,我都希望用户收到通知。当您发送通知时,用户将收到通知。这取决于你。一个普通的通知将调用相同的进程,它还将通知用户。您不必使用静默通知。对,但这是来自远程服务器的远程推送。我无法控制那个服务器,我需要定期从中获取信息。实际上,在facebook等应用程序中,当你有一条消息或任何与你相关的事件时,会发送一个无声的通知,调用后台方法。您不能永远在后台执行任务。必须是远程服务器才能通过通知将更改通知您的应用程序。好的,谢谢。我想我必须弄清楚如何创建自己的独立远程服务器来继续查询。