यह पता लगाने के लिए कि कोई iOS एप्लिकेशन पृष्ठभूमि में है या अग्रभूमि में है, हम बस UIApplication का उपयोग कर सकते हैं जैसे हम इसका उपयोग बैटरी की स्थिति, स्थिति आदि जैसी कई अन्य चीजों का पता लगाने के लिए कर सकते हैं।
आइए देखें कि हम इसे अपने आवेदन में कैसे कर सकते हैं। हम अपने एप्लिकेशन के साझा संसाधनों का उपयोग करेंगे जो UIApplication.shared में संग्रहीत हैं। हम इसे नीचे दिखाए अनुसार उपयोग कर सकते हैं -
print(UIApplication.shared.applicationState)
शेयर्ड.एप्लीकेशन स्टेट स्टेट का एक एनम है, जिसमें सेब के दस्तावेज के अनुसार निम्नलिखित शामिल हैं।
public enum State : Int { case active case inactive case background }
सक्रिय केस का अर्थ है कि एप्लिकेशन अग्रभूमि में है और स्पर्श ईवेंट या कोई अन्य ईवेंट जैसे ईवेंट प्राप्त कर रहा है जो एप्लिकेशन को सक्रिय रख सकता है।
केस इनएक्टिव का अर्थ है कि एप्लिकेशन अग्रभूमि में चल रहा है लेकिन कोई ईवेंट प्राप्त नहीं कर रहा है।
केस बैकग्राउंड का मतलब है कि एप्लिकेशन बैकग्राउंड में चल रहा है।
जैसा कि ऊपर दिखाया गया है, हम इसे अपनी जरूरत के हिसाब से इस्तेमाल कर सकते हैं। हम शर्तों के आधार पर कुछ ऑपरेशन भी कर सकते हैं।
let state = UIApplication.shared.applicationState if state == .active { print("I'm active") } else if state == .inactive { print("I'm inactive") } else if state == .background { print("I'm in background") }
जब हम इसे अपने एप्लिकेशन के viewDidLoad में चलाते हैं तो हमें निम्नलिखित परिणाम मिलते हैं: