![](/img/trans.png)
[英]iPhone Multitasking - how to make 'location' service updates “user optional”
[英]running an NSTimer in the background of a multitasking iPhone app to turn location service on/off
我正在嘗試制作一個每10分鍾記錄一次准確位置的應用程序。
問題在於,當以最佳模式運行時,電池會很快耗盡。
我想要一個打開定位服務的計時器,didUpdateToLocation獲取了一個好的位置,打開了定位服務,然后再次等待計時器。
我已經嘗試了上百萬種東西,但是當我進入后台模式時,我的NSTimer總是會凍結。
有趣的是,didUpdateFromLocation可以關閉位置服務,如果您使用了ificantChangeUpdate,則可以在用戶通過三角剖分邊界並將位置記錄到coredata時使用didUpdateToLocation重新打開位置服務。
因此,從理論上講,阻止我運行該程序的唯一方法是一個永遠不會凍結的線程中的NSTimer。
我讀過一些文件,說您可以在VOIP,位置和音頻之外的背景中做一些簡單的事情。 有沒有人有任何使運行的線程不會凍結的經驗? 我知道每個人都認為這是不可能的-從我的研究中有可能,但我只是想不通。
根據任何使線程在VOIP,音頻,位置以外的背景中運行的經驗的建議,將不勝感激
謝謝大家,戴夫
這個問題的答案有一個替代性的解決方法,您可以在其中重新使用applicationDidEnterBackground事件來循環返回自身,每次重新啟動線程時您都可以進行一些工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.