Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用特定的时间间隔在后台调用web服务?_Ios_Iphone_Web Services_Background - Fatal编程技术网

Ios 如何使用特定的时间间隔在后台调用web服务?

Ios 如何使用特定的时间间隔在后台调用web服务?,ios,iphone,web-services,background,Ios,Iphone,Web Services,Background,我知道这个问题可能会重复很多次,但我需要一些澄清,所以我在这里问 我的要求是每20秒用iPhone获取一次位置信息,并用Web服务更新我的Web应用程序。它也在后台工作 我知道我将使用后台获取在后台获取位置,但我在这里有点混淆。我想使用web服务每隔20秒更新一次我的web数据库是否可以在应用程序后台模式下使用Web服务每隔20秒更新一次Web数据库? 提前感谢。否。后台模式下应用程序“唤醒”的最小时间间隔为6-10分钟。 如果您的手机处于活动状态且未锁定。如果您的手机处于“睡眠”状态,则此间隔

我知道这个问题可能会重复很多次,但我需要一些澄清,所以我在这里问

我的要求是每20秒用iPhone获取一次位置信息,并用Web服务更新我的Web应用程序。它也在后台工作

我知道我将使用后台获取在后台获取位置,但我在这里有点混淆。我想使用web服务每隔20秒更新一次我的web数据库是否可以在应用程序后台模式下使用Web服务每隔20秒更新一次Web数据库?


提前感谢。

否。后台模式下应用程序“唤醒”的最小时间间隔为6-10分钟。 如果您的手机处于活动状态且未锁定。如果您的手机处于“睡眠”状态,则此间隔可能需要几个小时

  • 在项目->功能->后台模式中打开“后台获取”

  • 在appDelegate中

    -(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
    {
      //Add your code here You will have 30 sec. to do all that you want in background mode
    
       completionHandler(UIBackgroundFetchResultNewData);       }
    

  • 尝试使用
    NSURLSession
    使用它的任务可以进行后台上传和下载
    在第一个请求之后,完成启动第二个请求的启动计时器

    这里有关于NSURLSession的好教程

    (由四部分组成的教程)

    并检查
    NSURLSession
    文档


    它在iOS7+中受支持。但如果用户强制关闭应用程序,它将被停止。

    这意味着我没有在后台模式下更新数据库。ryt?只有在活动模式下才有可能。您不能保证更新之间的时间间隔。例如,我创建了一个简单的应用程序,可以在后台工作,并在推特上显示我的iPhone电池电量。twits之间的时间间隔非常不同。你可以在这里看到,感谢您的重播。无论时间间隔是否准确。但我想在后台模式下调用web服务。我可以在后台调用简单的web服务吗?