मैं जांचना चाहता हूं कि ऐप पृष्ठभूमि में चल रहा है या नहीं।
में:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
मैं जांचना चाहता हूं कि ऐप पृष्ठभूमि में चल रहा है या नहीं।
में:
locationManagerDidUpdateLocation {
if(app is runing in background){
do this
}
}
जवाबों:
ऐप प्रतिनिधि को राज्य परिवर्तन का संकेत देने वाले कॉलबैक मिलते हैं। आप उसी के आधार पर इसे ट्रैक कर सकते हैं।
इसके अलावा applicationState UIApplication में संपत्ति वर्तमान स्थिति देता है।
[[UIApplication sharedApplication] applicationState]
[[UIApplication sharedApplication] applicationState] != UIApplicationStateActive
है कि बेहतर है, क्योंकि UIApplicationStateInactive पृष्ठभूमि में लगभग बराबर है ...
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive)
{
//Do checking here.
}
यह आपकी समस्या को हल करने में आपकी मदद कर सकता है।
नीचे टिप्पणी देखें - निष्क्रिय एक विशेष मामला है, और इसका मतलब यह हो सकता है कि ऐप अग्रभूमि में लॉन्च होने की प्रक्रिया में है। आपके लक्ष्य के आधार पर आपके लिए "पृष्ठभूमि" का मतलब हो सकता है या नहीं भी हो सकता है ...
स्विफ्ट 3
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
}
यदि आप एप्लिकेशन स्थिति के बारे में "पूछना" के बजाय कॉलबैक प्राप्त करना पसंद करते हैं, तो अपने इन दो तरीकों का उपयोग करें AppDelegate
:
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"app is actvie now");
}
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"app is not actvie now");
}
तेज ५
let state = UIApplication.shared.applicationState
if state == .background {
print("App in Background")
//MARK: - if you want to perform come action when app in background this will execute
//Handel you code here
}
else if state == .foreground{
//MARK: - if you want to perform come action when app in foreground this will execute
//Handel you code here
}
स्विफ्ट 4+
let appstate = UIApplication.shared.applicationState
switch appstate {
case .active:
print("the app is in active state")
case .background:
print("the app is in background state")
case .inactive:
print("the app is in inactive state")
default:
print("the default state")
break
}
इसे थोड़ा आसान बनाने के लिए स्विफ्ट 4.0 एक्सटेंशन:
import UIKit
extension UIApplication {
var isBackground: Bool {
return UIApplication.shared.applicationState == .background
}
}
अपने एप्लिकेशन से एक्सेस करने के लिए:
let myAppIsInBackground = UIApplication.shared.isBackground
आप देख विभिन्न राज्यों के बारे में जानकारी के लिए कर रहे हैं ( active
, inactive
और background
), आप पा सकते हैं एप्पल प्रलेखन यहाँ ।
locationManager:didUpdateToLocation:fromLocation:
विधि के बारे में बात कर रहे हैं ?