यह जानना महत्वपूर्ण है कि एप्लिकेशन फोरग्राउंड में है या बैकग्राउंड में क्योंकि iOS डेवलपर होने के नाते हमें मल्टीपल इवेंट्स जैसे बैकग्राउंड डाउनलोड्स, ऐप के फोरग्राउंड में आने पर इवेंट्स को हैंडल करने की आवश्यकता होती है।
यहां हम देखेंगे कि एप्लिकेशन बैकग्राउंड में है या फोरग्राउंड में कैसे जांचें।
हम इसके लिए Notification Center का उपयोग करेंगे।
इसके बारे में यहाँ और पढ़ें: https://developer.apple.com/documentation/foundation/notificationcenter
एक नोटिफिकेशन डिस्पैच मैकेनिज्म जो रजिस्टर्ड ऑब्जर्वर्स को जानकारी के प्रसारण को सक्षम बनाता है। हम उसी में ऑब्जर्वर जोड़ेंगे और कॉल प्राप्त करेंगे।
चरण 1: प्रोजेक्ट बनाएं
Xcode खोलें → New Project → Single View Application → नाम दें "ForegroundBackground"
चरण 2: Notification Center ऑब्जेक्ट बनाएं
let notificationCenter = NotificationCenter.default
चरण 3: बैकग्राउंड और फोरग्राउंड के लिए ऑब्जर्वर जोड़ें
notificationCenter.addObserver(self, selector: #selector(backgroundCall), name: UIApplication.willResignActiveNotification, object: nil)
notificationCenter.addObserver(self, selector: #selector(foregroundCall), name: UIApplication.didBecomeActiveNotification, object: nil)
चरण 4: सेलेक्टर मेथड्स इम्प्लीमेंट करें
@objc func foregroundCall() {
print("App moved to foreground")
}
@objc func backgroundCall() {
print("App moved to background!")
}
चरण 5: ब्रेकपॉइंट लगाएं और एप्लिकेशन चलाएं
पूरा कोड
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let notificationCenter = NotificationCenter.default
notificationCenter.addObserver(self, selector: #selector(backgroundCall), name: UIApplication.willResignActiveNotification, object: nil)
notificationCenter.addObserver(self, selector: #selector(foregroundCall), name: UIApplication.didBecomeActiveNotification, object: nil)
}
@objc func foregroundCall() {
print("App moved to foreground")
}
@objc func backgroundCall() {
print("App moved to background!")
}
}