WatchKit — यह क्या है, Apple Watch फ्रेमवर्क और watchOS

लेखक: IT Sectr प्रकाशित: 2026-06-16 पढ़ने का समय: 8 मिनट

WatchKit Apple का एक फ्रेमवर्क है जो Apple Watch पर एप्लिकेशन बनाने के लिए है, जिसे 2014 में watchOS 1 के साथ घोषित किया गया था। यह WKInterface UI तत्वों का एक सेट प्रदान करता है — बटन, लेबल, टेबल, मानचित्र — और स्क्रीन के बीच नेविगेशन तंत्र। हालाँकि आधुनिक watchOS विकास तेजी से SwiftUI की ओर बढ़ रहा है, WatchKit मौजूदा अनुप्रयोगों और उन परिदृश्यों के समर्थन के लिए महत्वपूर्ण बना हुआ है जहाँ इंटरफ़ेस पर पूर्ण नियंत्रण आवश्यक है। Apple Developer Documentation, 2026 के अनुसार, WatchKit अभी भी watchOS App Store कैटलॉग के 35% ऐप्स में उपयोग किया जाता है, जिसमें फ़िटनेस ऐप्स, नेविगेटर और त्वरित डेटा एक्सेस के लिए उपयोगिताएँ शामिल हैं।

मुख्य बिंदु

  • WatchKit Apple का एक फ्रेमवर्क है जो Apple Watch पर एप्लिकेशन बनाने के लिए है, जो WKInterface UI घटकों और WKInterfaceController-आधारित नेविगेशन का उपयोग करता है।
  • WKInterfaceController एप्लिकेशन की मुख्य स्क्रीन क्लास है, जो iOS पर UIViewController के समान है, जिसमें जीवनचक्र प्रबंधन और पदानुक्रम है।
  • WCSession Apple Watch और iPhone के बीच संचार तंत्र है, जो Bluetooth के माध्यम से डेटा, फ़ाइल और संदर्भ स्थानांतरण की अनुमति देता है।
  • WKInterfaceDevice डिवाइस की जानकारी प्रदान करता है: स्क्रीन का आकार, मॉडल, watchOS संस्करण और हार्डवेयर घटक क्षमताएँ।
  • Complications Controller एक API है जो वॉच फ़ेस पर डेटा प्रदर्शित करने के लिए है, जो CLKComplicationDataSource के माध्यम से सक्रिय होता है।

WatchKit क्या है और यह कैसे काम करता है?

WatchKit Apple का एक फ्रेमवर्क है जो Apple Watch पर एप्लिकेशन बनाने के लिए API प्रदान करता है। watchOS 2 (2015) से शुरू होकर, WatchKit ऐप्स सीधे वॉच पर चलते हैं न कि iPhone पर, जो उन्हें फ़ोन से निरंतर कनेक्शन के बिना डेटा प्रोसेस करने और इंटरफ़ेस प्रदर्शित करने की अनुमति देता है। इससे पहले, watchOS 1 में, सभी ऐप्स iPhone पर चलते थे और वॉच केवल एक रिमोट डिस्प्ले थी, जिससे UI में महत्वपूर्ण देरी होती थी।

आधुनिक WatchKit आर्किटेक्चर में दो घटक शामिल हैं: WatchKit App (वॉच पर Storyboard + संसाधन) और WatchKit Extension (वॉच पर चलने वाला कोड)। उपयोगकर्ता मूल iOS एप्लिकेशन इंस्टॉल करते समय App Store के माध्यम से दोनों घटकों को इंस्टॉल करता है। WatchKit सिस्टम सुविधाओं के साथ एकीकृत होता है: सूचनाएँ (UNUserNotificationCenter के माध्यम से), कॉम्प्लिकेशन (वॉच फ़ेस पर डेटा), Workout API और HealthKit।

Counterpoint Research (2025) के अनुसार, Apple Watch के पास वैश्विक स्मार्टवॉच बाज़ार का 52% हिस्सा है, और औसत उपयोगकर्ता WatchKit या SwiftUI का उपयोग करने वाले 6–8 तृतीय-पक्ष ऐप्स इंस्टॉल करता है। सबसे लोकप्रिय श्रेणियाँ फ़िटनेस (56%), स्वास्थ्य (22%), नेविगेशन (9%) और उपयोगिताएँ (8%) हैं।

watchOS के लिए WatchKit बनाम SwiftUI

SwiftUI watchOS 6 से शुरू होकर watchOS के लिए इंटरफ़ेस बनाने का Apple का अनुशंसित तरीका है। SwiftUI घोषणात्मक सिंटैक्स और स्क्रीन आकारों के लिए स्वचालित अनुकूलन प्रदान करता है। हालाँकि, WatchKit SwiftUI के अस्तित्व में आने से पहले शुरू किए गए प्रोजेक्ट्स के लिए, विशिष्ट तत्वों (WKInterfaceMap, WKInterfaceMovie) के उपयोग के लिए, और watchOS संस्करण 6 से नीचे के समर्थन की आवश्यकता वाले मामलों में प्रासंगिक बना हुआ है।

मानदंडWatchKitSwiftUI
Apple अनुशंसाLegacyवर्तमान
न्यूनतम watchOSwatchOS 1watchOS 6
कोड वॉल्यूमअधिककम
कॉम्प्लिकेशन एकीकरणकक्षाओं के माध्यम से सीधाWidgetKit के माध्यम से
WKInterfaceMapहाँMap (MapKit)

WatchKit इंटरफ़ेस: WKInterfaceController और तत्व

WKInterfaceController WatchKit में स्क्रीन प्रबंधित करने के लिए आधार क्लास है। यह जीवनचक्र को संभालता है: आरंभीकरण (awake(withContext:)), प्रकटन (willActivate), गायब होना (didDeactivate) और नियंत्रकों के बीच संदर्भ स्थानांतरण। प्रत्येक ऐप स्क्रीन को एक अलग WKInterfaceController उपवर्ग द्वारा दर्शाया जाता है जो Interface Builder के माध्यम से Storyboard से जुड़ा होता है। नेविगेशन पदानुक्रमित (push) या मोडल (present) हो सकता है।

WatchKit WKInterface उपसर्ग के साथ इंटरफ़ेस तत्वों का एक सेट प्रदान करता है: WKInterfaceLabel (टेक्स्ट), WKInterfaceButton (बटन), WKInterfaceTable (टेबल), WKInterfaceImage (छवि), WKInterfaceMap (मानचित्र) और WKInterfaceGroup (गोल कोनों और पृष्ठभूमि वाला कंटेनर)। सभी तत्व एसिंक्रोनस रूप से काम करते हैं — UI परिवर्तन कतारबद्ध होते हैं और रेंडर चक्रों के बीच सिस्टम द्वारा लागू किए जाते हैं, जो वॉच स्क्रीन पर स्थिर 30 FPS सुनिश्चित करता है।

मूल WKInterfaceController

swift
class MainInterfaceController: WKInterfaceController {
    @IBOutlet weak var titleLabel: WKInterfaceLabel!
    @IBOutlet weak var actionButton: WKInterfaceButton!
    
    override func awake(with context: Any?) {
        super.awake(with: context)
        titleLabel.setText("नमस्ते, Watch!")
    }
    
    override func willActivate() {
        super.willActivate()
        actionButton.setTitle("शुरू करें")
    }
    
    @IBAction func didTapButton() {
        pushController(withName: "DetailController", context: nil)
    }
}

WCSession: Watch और iPhone के बीच संचार

WCSession Bluetooth या Wi-Fi के माध्यम से Apple Watch और iPhone के बीच दो-तरफ़ा संचार के लिए केंद्रीय क्लास है। सत्र छोटे डेटा शब्दकोशों (updateApplicationContext) को स्थानांतरित करने, तत्काल प्रतिक्रिया के साथ संदेश भेजने (sendMessage), फ़ाइलों (transferFile) को स्थानांतरित करने और जटिल ऑब्जेक्ट्स (transferUserInfo) को सिंक करने की अनुमति देता है। WCSession एसिंक्रोनस रूप से काम करता है और स्वचालित रूप से इष्टतम संचार चैनल का चयन करता है।

WCSession का उपयोग करने के लिए, आपको दोनों डिवाइसों पर सत्र सक्रिय करना होगा। Watch ऐप willActivate() विधि में WCSession बनाता है, जबकि iOS ऐप AppDelegate या SceneDelegate में ऐसा करता है। सक्रिय होने के बाद, डिवाइस संभव होने पर स्वचालित रूप से संदर्भ सिंक करते हैं। आने वाले डेटा प्राप्त करने और कनेक्शन स्थिति की निगरानी के लिए WCSessionDelegate को संभालना महत्वपूर्ण है।

Watch पक्ष पर WCSession उदाहरण

swift
class SessionManager: NSObject, WCSessionDelegate {
    private let session = WCSession.default
    
    func activate() {
        session.delegate = self
        session.activate()
    }
    
    func sendDataToPhone(key: String, value: Any) {
        guard session.isReachable else { return }
        session.sendMessage([key: value],
            replyHandler: { response in
                print("Response: \(response)")
            },
            errorHandler: { error in
                print("Error: \(error.localizedDescription)")
            }
        )
    }
    
    func session(_ session: WCSession,
               didReceiveMessage message: [String: Any],
               replyHandler: @escaping ([String: Any]) -> Void) {
        handleIncomingData(message)
        replyHandler(["status": "ok"])
    }
}

Complications: वॉच फ़ेस पर डेटा

Complications छोटे डेटा तत्व हैं जो Apple Watch फ़ेस पर प्रदर्शित होते हैं और ऐप खोले बिना जानकारी तक त्वरित पहुँच प्रदान करते हैं। WatchKit CLKComplicationDataSource प्रदान करता है — एक प्रोटोकॉल जिसका कार्यान्वयन ऐप को कॉम्प्लिकेशन के लिए डेटा प्रदान करने की अनुमति देता है। वॉच फ़ेस स्वयं तय करता है कि कौन से स्थान उपलब्ध हैं — गोलाकार, आयताकार, कोने या मॉड्यूलर।

डेवलपर तीन आकार परिवारों के लिए कॉम्प्लिकेशन प्रदान कर सकता है: CLKComplicationFamily — circularSmall, extraLarge, graphicCircular, graphicRectangular, graphicCorner, graphicBezel, modularSmall, modularLarge और utilitarianSmall/Large। प्रत्येक परिवार के अपने आयाम और प्रदर्शन प्रारूप होते हैं। एक ऐप कई परिवारों का समर्थन कर सकता है, लेकिन न्यूनतम दो — ग्राफिक और मॉड्यूलर — अनुशंसित है।

CLKComplicationDataSource उदाहरण

swift
class ComplicationController: NSObject, CLKComplicationDataSource {
    func getCurrentTimelineEntry(
        for complication: CLKComplication,
        withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void
    ) {
        let template = CLKComplicationTemplateModularSmallSimpleText()
        template.textProvider = CLKSimpleTextProvider(text: "96%")
        let entry = CLKComplicationTimelineEntry(
            date: Date(),
            complicationTemplate: template
        )
        handler(entry)
    }
}

Swift में WatchKit ऐप का उदाहरण

WatchKit ऐप बनाना Xcode में WatchKit App Target जोड़ने से शुरू होता है। Xcode एक प्रारंभिक नियंत्रक के साथ Interface.storyboard उत्पन्न करता है और इसे स्वचालित रूप से InterfaceController क्लास से जोड़ता है। डेवलपर Interface Builder के माध्यम से UI तत्व जोड़ता है और कोड से इंटरैक्शन के लिए IBOutlets बनाता है। नीचे WCSession के माध्यम से iPhone से प्राप्त डेटा की तालिका के साथ एक पूर्ण नियंत्रक उदाहरण है।

swift
class ItemRowController: NSObject {
    @IBOutlet weak var itemLabel: WKInterfaceLabel!
    
    func configure(with text: String) {
        itemLabel.setText(text)
    }
}

class ListController: WKInterfaceController {
    @IBOutlet weak var itemsTable: WKInterfaceTable!
    private var items: [String] = []
    
    override func awake(with context: Any?) {
        super.awake(with: context)
        items = context as? [String] ?? []
        
        itemsTable.setNumberOfRows(items.count,
            withRowType: "ItemRow")
        for i in 0..if let row = itemsTable
                .rowController(at: i) as? ItemRowController {
                row.configure(with: items[i])
            }
        }
    }
}

फ़िटनेस एप्लिकेशन के लिए Workout API

Workout API WatchKit कक्षाओं का एक सेट है जो फ़िटनेस ऐप बनाने के लिए है जो पृष्ठभूमि में Apple Watch पर वर्कआउट चला सकते हैं। API सेंसर तक पहुँच प्रदान करता है: एक्सेलेरोमीटर, जाइरोस्कोप, हृदय गति मॉनिटर (HKHealthStore के माध्यम से) और GPS (GPS वाले Watch मॉडल पर)। वर्कआउट HealthKit से HKWorkoutSession के माध्यम से शुरू किए जाते हैं, और हृदय गति डेटा HKSampleQuery के माध्यम से वास्तविक समय में अपडेट होता है।

Workout API का मुख्य लाभ पृष्ठभूमि संचालन है। जब वर्कआउट सक्रिय होता है, watchOS उपयोगकर्ता के कलाई नीचे करने पर ऐप को निलंबित नहीं करता — सेंसर डेटा एकत्र करना जारी रखते हैं, और ऐप हृदय गति, दूरी, गति और अन्य मीट्रिक प्रदर्शित कर सकता है। वर्कआउट समाप्त होने के बाद, डेटा HealthKit के माध्यम से iPhone पर स्वास्थ्य ऐप के साथ सिंक होता है, जो उपयोगकर्ता के लिए एक एकीकृत फ़िटनेस प्रोफ़ाइल प्रदान करता है।

सेंसर के साथ वर्कआउट शुरू करना

swift
class WorkoutManager: NSObject {
    private let healthStore = HKHealthStore()
    private var session: HKWorkoutSession!
    
    func startWorkout(activityType: HKWorkoutActivityType) {
        let config = HKWorkoutConfiguration()
        config.activityType = activityType
        config.locationType = .outdoor
        
        session = try! HKWorkoutSession(
            healthStore: healthStore,
            configuration: config
        )
        session.startActivity(with: Date())
    }
    
    func stopWorkout() {
        session.stopActivity(with: Date())
        session.end()
    }
}

अक्सर पूछे जाने वाले प्रश्न

क्या मुझे नए प्रोजेक्ट में WatchKit का उपयोग करना चाहिए?

Apple नए watchOS ऐप्स के लिए SwiftUI की अनुशंसा करता है। WatchKit का उपयोग केवल लीगेसी प्रोजेक्ट समर्थन के लिए या यदि आपको SwiftUI में उपलब्ध नहीं होने वाली विशिष्ट कार्यक्षमता जैसे WKInterfaceMap की आवश्यकता है, तो करें।

बिना कनेक्शन के Watch से iPhone पर डेटा कैसे स्थानांतरित करें?

WCSession transferUserInfo और transferFile के माध्यम से विलंबित स्थानांतरण का समर्थन करता है। डेटा वॉच और फ़ोन के बीच कनेक्शन स्थापित होने पर अगली बार वितरित किया जाएगा, जो अस्थायी कनेक्टिविटी हानि पर भी वितरण सुनिश्चित करता है।

क्या WatchKit ऐप्स सभी Apple Watch मॉडलों पर काम करते हैं?

WatchKit के साथ लिखे गए ऐप्स Apple Watch Series 0 और नए (watchOS 1+) के साथ संगत हैं। हालाँकि, कुछ सुविधाएँ (GPS, हृदय गति मॉनिटर, Dynamic Island) केवल विशिष्ट मॉडलों पर उपलब्ध हैं।

क्या मैं एक ही ऐप में SwiftUI और WatchKit का उपयोग कर सकता हूँ?

हाँ, आप एक ही ऐप में SwiftUI और WatchKit को जोड़ सकते हैं। WKHostingController का उपयोग करके WKInterfaceController में SwiftUI व्यू एम्बेड करें, या UIViewRepresentable के माध्यम से WKInterfaceObjects को एकीकृत करें।

वास्तविक उपकरणों पर WCSession को कैसे डीबग करें?

कनेक्टेड डिवाइसों पर Xcode से दोनों ऐप्स (iOS + watchOS) चलाएँ। WCSessionDelegate संदेशों की निगरानी के लिए डीबग कंसोल का उपयोग करें। सुनिश्चित करें कि दोनों डिवाइस Bluetooth रेंज (10 मीटर तक) के भीतर हैं।

सारांश

  • WatchKit Apple का एक फ्रेमवर्क है जो Apple Watch पर ऐप बनाने के लिए है, जो WKInterface UI घटकों और WKInterfaceController नियंत्रकों का उपयोग करता है।
  • WCSession संदेशों, फ़ाइलों और संदर्भ के समर्थन के साथ Bluetooth/Wi-Fi के माध्यम से Watch और iPhone के बीच दो-तरफ़ा संचार के लिए केंद्रीय तंत्र है।
  • Complications CLKComplicationDataSource के माध्यम से Apple Watch फ़ेस पर डेटा हैं जो 9 प्रदर्शन परिवारों का समर्थन करते हैं।
  • Workout API HKWorkoutSession के माध्यम से पृष्ठभूमि में हृदय गति, GPS और एक्सेलेरोमीटर डेटा संग्रह के साथ फ़िटनेस ऐप्स के लिए कक्षाओं का एक सेट है।
  • SwiftUI नए प्रोजेक्ट्स के लिए Apple का अनुशंसित दृष्टिकोण है, लेकिन WatchKit लीगेसी ऐप्स और विशिष्ट कार्यक्षमता के लिए प्रासंगिक बना हुआ है।
  • संयोजन WKHostingController और UIViewRepresentable के माध्यम से एक ऐप में WatchKit और SwiftUI का संयोजन संभव है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें