Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Iphone 如果应用程序在后台运行,如何获取当前位置纬度和经度?_Iphone_Objective C_Cocoa Touch_Ios4 - Fatal编程技术网

Iphone 如果应用程序在后台运行,如何获取当前位置纬度和经度?

Iphone 如果应用程序在后台运行,如何获取当前位置纬度和经度?,iphone,objective-c,cocoa-touch,ios4,Iphone,Objective C,Cocoa Touch,Ios4,我在和一个位置经理一起工作 我已经实现了startUpdatingLocation方法来获取当前位置的纬度和经度 若应用程序在前台运行,我得到了当前位置的经纬度,但当应用程序在后台运行时,它不工作 如果应用程序在后台运行,请告诉我如何获得当前位置纬度和经度。我刚刚从stackoverflow中找到了答案,链接如下:- 在Apple开发者论坛的帮助下,找到了一个实现此功能的解决方案。我做了以下工作: 指定位置背景模式 通过使用UIApplication:beginBackgroundTaskW

我在和一个位置经理一起工作

我已经实现了
startUpdatingLocation
方法来获取当前位置的纬度和经度

若应用程序在前台运行,我得到了当前位置的经纬度,但当应用程序在后台运行时,它不工作


如果应用程序在后台运行,请告诉我如何获得当前位置纬度和经度。

我刚刚从stackoverflow中找到了答案,链接如下:-

在Apple开发者论坛的帮助下,找到了一个实现此功能的解决方案。我做了以下工作:

  • 指定位置背景模式
  • 通过使用
    UIApplication:beginBackgroundTaskWithExpirationHandler:
  • 如果
    n
    小于
    ui应用程序:backgroundTimeRemaining
    它工作正常,如果
    n
    较大,则应在没有剩余时间之前再次启用(和禁用)位置管理器,以避免后台任务被终止。这是可行的,因为位置是三种允许的后台执行类型之一

注意:在模拟器中测试这一点,但它不起作用,在我的手机上工作正常。在backround中获取currcnt Location在plist中指定Location background mode。

不过有一点警告。这对您的电池寿命非常不利,因此请确保您没有频繁或准确地获取位置。如果用户认为他们离开了你的应用程序,但发现他们的电池耗电很快,他们不会高兴的。祝你好运