Saya ingin memeriksa apakah aplikasi berjalan di latar belakang.
Di:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
ios
objective-c
uiapplicationdelegate
application-lifecycle
ios-background-mode
bobby grenier
sumber
sumber
locationManager:didUpdateToLocation:fromLocation:
metode ini?Jawaban:
Delegasi aplikasi mendapat panggilan balik yang mengindikasikan transisi keadaan. Anda dapat melacaknya berdasarkan itu.
Juga properti applicationState di aplikasi UIA mengembalikan keadaan saat ini.
sumber
[[UIApplication sharedApplication] applicationState] != UIApplicationStateActive
lebih baik, karena UIApplicationStateInactive hampir setara dengan di latar belakang ...Ini dapat membantu Anda dalam memecahkan masalah Anda.
Lihat komentar di bawah - tidak aktif adalah kasus yang cukup khusus, dan dapat berarti bahwa aplikasi sedang dalam proses diluncurkan ke latar depan. Itu mungkin atau mungkin tidak berarti "latar belakang" bagi Anda tergantung pada tujuan Anda ...
sumber
Cepat 3
sumber
Versi cepat:
sumber
Jika Anda lebih suka menerima panggilan balik alih-alih "bertanya" tentang status aplikasi, gunakan dua metode ini di
AppDelegate
:sumber
cepat 5
sumber
Swift 4+
sumber
Ekstensi Swift 4.0 untuk membuatnya lebih mudah diakses:
Untuk mengakses dari dalam aplikasi Anda:
Jika Anda mencari informasi tentang berbagai status (
active
,inactive
danbackground
), Anda dapat menemukan dokumentasi Apple di sini .sumber