Saya mencari cara untuk mendapatkan pembaruan lokasi latar belakang setiap n menit di aplikasi iOS saya. Saya menggunakan iOS 4.3 dan solusinya harus berfungsi untuk iPhone yang tidak dipenjara.
Saya mencoba / mempertimbangkan opsi berikut:
CLLocationManager startUpdatingLocation/startMonitoringSignificantLocationChanges
: Ini berfungsi di latar belakang seperti yang diharapkan, berdasarkan pada properti yang dikonfigurasikan, tetapi tampaknya tidak mungkin untuk memaksanya memperbarui lokasi setiap n menitNSTimer
: Tidak berfungsi saat aplikasi berjalan di latar depan tetapi tampaknya tidak dirancang untuk tugas latar belakang- Pemberitahuan lokal: Pemberitahuan lokal dapat dijadwalkan setiap n menit, tetapi tidak mungkin untuk mengeksekusi beberapa kode untuk mendapatkan lokasi saat ini (tanpa pengguna harus meluncurkan aplikasi melalui pemberitahuan). Pendekatan ini juga tampaknya tidak menjadi pendekatan yang bersih karena ini bukan untuk apa notifikasi harus digunakan.
UIApplication:beginBackgroundTaskWithExpirationHandler
: Sejauh yang saya mengerti, ini harus digunakan untuk menyelesaikan beberapa pekerjaan di latar belakang (juga terbatas waktu) ketika aplikasi dipindahkan ke latar belakang daripada menerapkan proses latar belakang "jangka panjang".
Bagaimana saya bisa menerapkan pembaruan lokasi latar belakang biasa ini?