watchOS: βασικές αρχές ανάπτυξης για Apple Watch με SwiftUI

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-02-07 Χρόνος ανάγνωσης: 12 λεπ

watchOS — το λειτουργικό σύστημα της Apple για το Apple Watch, που κυκλοφόρησε για πρώτη φορά το 2015 μαζί με τα πρώτα ρολόγια. Η ανάπτυξη εφαρμογών για watchOS γίνεται σε Swift με χρήση SwiftUI και WatchKit. Χαρακτηριστικά: μικρή ορθογώνια οθόνη, περιορισμένη κατανάλωση ενέργειας από μπαταρία 0,3 Wh και στενή ενσωμάτωση με iPhone μέσω Bluetooth. Σύμφωνα με στοιχεία της Counterpoint Research, το Apple Watch κατέχει πάνω από το 30% της παγκόσμιας αγοράς έξυπνων ρολογιών.

Κύρια σημεία

  • watchOS — ΛΣ για Apple Watch σε πυρήνα XNU με προσανατολισμό στη χαμηλή κατανάλωση ενέργειας
  • SwiftUI — το κύριο πλαίσιο για την ανάπτυξη διεπαφών εφαρμογών watchOS
  • Watch Connectivity — μηχανισμός ανταλλαγής δεδομένων μεταξύ Apple Watch και iPhone
  • Smart Stack — έξυπνη στοίβα widget, που παρουσιάστηκε στο watchOS 10
  • HealthKit — πλαίσιο για πρόσβαση σε αισθητήρες: παλμός, SpO2, θερμοκρασία, επιταχυνσιόμετρο

Τι είναι το watchOS;

watchOS — το λειτουργικό σύστημα για τα έξυπνα ρολόγια της Apple, βασισμένο στον πυρήνα XNU Darwin. Κυκλοφόρησε για πρώτη φορά στις 24 Απριλίου 2015 μαζί με το Apple Watch Series 0. Το σύστημα είναι χτισμένο στην ίδια αρχιτεκτονική με το iOS, αλλά βελτιστοποιημένο για μικρή οθόνη (1,5 έως 1,9 ίντσες), περιορισμένη μνήμη (έως 1 GB RAM στο Series 9) και ελάχιστη κατανάλωση ενέργειας.

Σύμφωνα με τη StatCounter (2026), το watchOS κατέχει περίπου το 55% της αγοράς λειτουργικών συστημάτων για έξυπνα ρολόγια, ξεπερνώντας το Wear OS και τα ιδιόκτητα συστήματα Κινέζων κατασκευαστών. Η Apple κυκλοφορεί ετήσιες μεγάλες ενημερώσεις watchOS, υποστηρίζοντας τα ρολόγια έως και 5 χρόνια από την κυκλοφορία.

Το βασικό χαρακτηριστικό του watchOS — η εξάρτηση από το iPhone. Οι περισσότερες εφαρμογές χρησιμοποιούν το Watch Connectivity για συγχρονισμό δεδομένων. Από το watchOS 6, τα ρολόγια μπορούν να εγκαθιστούν εφαρμογές απευθείας από το App Store, αλλά η πλήρης αυτονομία χωρίς iPhone υποστηρίζεται μόνο από το watchOS 9.

Ιστορία εκδόσεων watchOS

Η πρώτη έκδοση Watch OS 1.0 δεν υποστήριζε εφαρμογές τρίτων — μόνο προεγκατεστημένες εφαρμογές της Apple. Το watchOS 2 (2015) άνοιξε το SDK για προγραμματιστές. Το watchOS 3 (2016) επιτάχυνε την εκκίνηση εφαρμογών 7 φορές. Το watchOS 6 (2019) παρουσίασε το App Store στο ρολόι. Το watchOS 9 (2022) πρόσθεσε φάρμακα και βελτιωμένη παρακολούθηση ύπνου. Το watchOS 10 (2023) έγινε η μεγαλύτερη ενημέρωση διεπαφής από την κυκλοφορία.

Έκδοση watchOSΈτοςΒασική καινοτομία
Watch OS 12015Πρώτη έκδοση, μόνο εγγενείς εφαρμογές Apple
watchOS 22015Ανοιχτό SDK, εφαρμογές τρίτων, Watch Connectivity
watchOS 32016Άμεση εκκίνηση εφαρμογών, Dock, Scribble
watchOS 62019App Store στο ρολόι, Cycle Tracking, Noise εφαρμογή
watchOS 92022Φάρμακα, φάσεις ύπνου, βελτιωμένος σύντροφος τρεξίματος
watchOS 102023Smart Stack, Double Tap, νέες όψεις ρολογιού

Αρχιτεκτονική του watchOS

Η αρχιτεκτονική του watchOS αποτελείται από τρία επίπεδα που απομονώνουν το υλικό από τις εφαρμογές χρήστη. Σε αντίθεση με το iOS, το watchOS χρησιμοποιεί προσέγγιση βάσει στοιχείων: η εφαρμογή αποτελείται από δύο στόχους — μια επέκταση (extension) και έναν κεντρικό υπολογιστή στο iPhone.

Πυρήνας και υπηρεσίες συστήματος

Το κάτω επίπεδο — τροποποιημένος πυρήνας XNU με προγράμματα οδήγησης για τσιπ S4/S5/S6/S7/S8/S9 Apple. Στο Apple Watch Series 9 χρησιμοποιείται S9 SiP με 5,6 δισεκατομμύρια τρανζίστορ και 4-πύρηνο Neural Engine. Οι υπηρεσίες συστήματος περιλαμβάνουν Core Bluetooth, Watch Connectivity, HealthKit και Core Motion. Όλες οι εργασίες παρασκηνίου διαχειρίζονται από τον BGTaskScheduler — τον προγραμματιστή συστήματος που βελτιστοποιεί την κατανάλωση ενέργειας.

WatchKit — επίπεδο εφαρμογών

WatchKit — πλαίσιο για τη δημιουργία διεπαφών εφαρμογών watchOS. Περιλαμβάνει WKInterfaceController, WKInterfaceGroup, WKInterfaceLabel και WKInterfaceButton. Από το watchOS 6, η Apple συνιστά το SwiftUI αντί του WatchKit. Το SwiftUI παρέχει τις ίδιες δυνατότητες, αλλά με δηλωτική σύνταξη και αυτόματη προσαρμογή στο μέγεθος οθόνης: 38 mm (272×340), 42 mm (312×390), 40 mm (324×394), 44 mm (368×448), 45 mm (396×484), 49 mm (410×502 στο Apple Watch Ultra).

Λειτουργίες παρασκηνίου και κατανάλωση ενέργειας

Το watchOS περιορίζει τη λειτουργία παρασκηνίου των εφαρμογών για εξοικονόμηση μπαταρίας. Διαθέσιμες λειτουργίες παρασκηνίου: Workout (προπονήσεις), HealthKit (παρακολούθηση υγείας), Location (γεωγραφική θέση), Audio (αναπαραγωγή ήχου) και Complication (δεδομένα στην όψη ρολογιού). Κάθε λειτουργία απαιτεί ξεχωριστή capability στα entitlements. Τυπική κατανάλωση ενέργειας: ενεργή εφαρμογή — 50-80 mA, λειτουργία παρασκηνίου — 5-15 mA, αναμονή — 1-3 mA.

swift
import BackgroundTasks
import WatchKit

/// Προγραμματισμός ενημέρωσης δεδομένων παρασκηνίου στο watchOS
class BackgroundTaskManager: NSObject {

    func scheduleBackgroundRefresh() {
        let request = BGAppRefreshTaskRequest(identifier: "com.example.refresh")
        request.earliestBeginDate = Date(timeIntervalSinceNow: 30 * 60)

        try? BGTaskScheduler.shared.submit(request)
    }

    func handleAppRefresh(task: BGAppRefreshTask) {
        task.expirationHandler = { task.setTaskCompleted(success: false) }

        DataService.shared.fetchData { result in
            switch result {
            case .success:
                ComplicationController.reloadComplications()
                task.setTaskCompleted(success: true)
            case .failure:
                task.setTaskCompleted(success: false)
            }
        }
    }
}

/// Καταχώρηση εργασίας παρασκηνίου στο WKExtensionDelegate
class ExtensionDelegate: NSObject, WKExtensionDelegate {
    let manager = BackgroundTaskManager()

    func handle(_ backgroundTasks: Set<WKBackgroundTask>) {
        for task in backgroundTasks {
            switch task {
            case let refreshTask as BGAppRefreshTask:
                manager.handleAppRefresh(task: refreshTask)
            default:
                task.setTaskCompleted(success: false)
            }
        }
    }
}

Ο BGTaskScheduler εγγυάται ότι οι εργασίες παρασκηνίου εκτελούνται σε βέλτιστες στιγμές — όταν το ρολόι είναι στη φόρτιση και συνδεδεμένο με το iPhone. Το WKExtensionDelegate επεξεργάζεται τις εισερχόμενες εργασίες παρασκηνίου και ενημερώνει τα δεδομένα στην όψη του ρολογιού. Το ComplicationController.reloadComplications ενημερώνει τα widget στην επιλεγμένη όψη ρολογιού.

watchOS 10: Smart Stack και Double Tap

watchOS 10 — η μεγαλύτερη ενημέρωση διεπαφής στην ιστορία της πλατφόρμας, που κυκλοφόρησε τον Σεπτέμβριο του 2023. Το σύστημα μεταπήδησε από την ιεραρχική πλοήγηση στην πλοήγηση προσανατολισμένη στο περιεχόμενο: η κύρια οθόνη έγινε το Smart Stack — μια έξυπνη στοίβα widget που αντικατέστησε τη βάση εφαρμογών.

Smart Stack

Smart Stack — κάθετη λίστα widget που εμφανίζεται κάτω από την όψη του ρολογιού. Τα widget ταξινομούνται ανάλογα με το πλαίσιο: το πρωί εμφανίζεται ο καιρός και το ημερολόγιο, το μεσημέρι — η δραστηριότητα και οι υπενθυμίσεις, το βράδυ — ο διαλογισμός και η προετοιμασία για ύπνο. Ο προγραμματιστής μπορεί να προσθέσει προσαρμοσμένα widget μέσω του WidgetKit για watchOS, χρησιμοποιώντας τα ίδια API με το iOS 17.

Double Tap

Double Tap — χειρονομία ένωσης του δείκτη και του αντίχειρα, που αναγνωρίζεται από το επιταχυνσιόμετρο και το γυροσκόπιο χωρίς άγγιγμα της οθόνης. Στα Apple Watch Series 9 και Ultra 2, η χειρονομία εκτελείται σε επίπεδο υλικού μέσω του Neural Engine. Ο προγραμματιστής λαμβάνει το συμβάν μέσω του UIDoubleTapGestureRecognizer ή μέσω του τροποποιητή SwiftUI .onTapGesture(count: 2). Η χειρονομία δεν απαιτεί βαθμονόμηση και λειτουργεί σε οποιονδήποτε προσανατολισμό χεριού.

Νέα API για προγραμματιστές

Το watchOS 10 παρουσίασε: SwiftUI Animation με υποστήριξη για κινούμενα σχέδια Spring και Keyframe, MapKit για εμφάνιση χαρτών στο ρολόι, VideoPlayer για αναπαραγωγή σύντομων βίντεο (έως 30 δευτερόλεπτα), βελτιωμένο VoiceOver με χειρονομίες και νέο παράδειγμα πλοήγησης NavigationStack αντί του NavigationView.

APIΣκοπόςΔιαθέσιμο από
WidgetKit for watchOSWidget για Smart StackwatchOS 10
UIDoubleTapGestureΧειρονομία Double TapwatchOS 10 (S9+)
MapKitΕμφάνιση χαρτών στο ρολόιwatchOS 10
NavigationStackΝέο παράδειγμα πλοήγησηςwatchOS 10
SwiftUI KeyframeΚινούμενο σχέδιο καρέ-καρέwatchOS 10

SwiftUI για Apple Watch

SwiftUI — το κύριο πλαίσιο για την ανάπτυξη διεπαφών στο watchOS. Η Apple συνιστά το SwiftUI για όλα τα νέα έργα από το watchOS 7. Το SwiftUI για ρολόγια χρησιμοποιεί τις ίδιες αρχές με το iOS, αλλά με τροποποιητές και στοιχεία ειδικά για το watchOS.

Στοιχεία SwiftUI ειδικά για watchOS

Το SwiftUI για watchOS περιλαμβάνει: TabView με στιλ σελίδας για σάρωση μεταξύ οθονών, DigitalCrownRotation για επεξεργασία περιστροφής της κορόνας, SceneStorage για αποθήκευση κατάστασης μεταξύ εκκινήσεων, WKNotificationScene για προσαρμοσμένες ειδοποιήσεις και ComplicationDescriptor για δεδομένα στην όψη ρολογιού.

swift
import SwiftUI
import HealthKit

/// Εφαρμογή watchOS για παρακολούθηση παλμού
@main
struct HeartMonitorApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        WKNotificationScene(
            controller: NotificationController.self,
            category: "heartAlert"
        )
    }
}

struct ContentView: View {
    @State private var heartRate: Double = 0
    private let healthStore = HKHealthStore()

    var body: some View {
        TabView {
            HeartRateView(rate: heartRate)
                .tabItem { Label("Παλμός", systemImage: "heart.fill") }

            StepsView()
                .tabItem { Label("Βήματα", systemImage: "figure.walk") }

            SettingsView()
                .tabItem { Label("Ρυθμίσεις", systemImage: "gear") }
        }
        .tabViewStyle(.page)
        .onAppear(perform: setupHealthKit)
    }

    private func setupHealthKit() {
        guard HKHealthStore.isHealthDataAvailable() else { return }
        let heartType = HKQuantityType(.heartRate)

        healthStore.requestAuthorization(toShare: nil, read: [heartType]) { success, error in
            guard success else { return }
            startHeartRateQuery()
        }
    }

    private func startHeartRateQuery() {
        let heartType = HKQuantityType(.heartRate)
        let query = HKObserverQuery(sampleType: heartType, predicate: nil) { _, _, error in
            guard error == nil else { return }
            fetchLatestHeartRate()
        }
        healthStore.execute(query)
    }

    private func fetchLatestHeartRate() {
        let heartType = HKQuantityType(.heartRate)
        let sort = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
        let query = HKSampleQuery(sampleType: heartType, predicate: nil,
                                    limit: 1, sortDescriptors: [sort]) { _, samples, _ in
            guard let sample = samples?.first as? HKQuantitySample else { return }
            let rate = sample.quantity.doubleValue(for: HKUnit(from: "count/min"))
            DispatchQueue.main.async { heartRate = rate }
        }
        healthStore.execute(query)
    }
}

struct HeartRateView: View {
    let rate: Double

    var body: some View {
        VStack(spacing: 12) {
            Image(systemName: "heart.fill")
                .foregroundStyle(.red)
                .font(.system(size: 48))
                .symbolEffect(.pulse)

            Text("\(Int(rate))")
                .font(.system(.title, design: .rounded))
                .contentTransition(.numericText())
                .bold()

            Text("bpm")
                .font(.caption)
                .foregroundStyle(.secondary)
        }
    }
}

Η εφαρμογή HeartMonitorApp παρουσιάζει την τυπική δομή μιας εφαρμογής watchOS σε SwiftUI: TabView με στιλ σελίδας για σάρωση μεταξύ οθονών, ενσωμάτωση με HealthKit για ανάγνωση παλμού σε πραγματικό χρόνο, WKNotificationScene για επεξεργασία ειδοποιήσεων. Το SymbolEffect με κινούμενο σχέδιο pulse χρησιμοποιεί επιτάχυνση υλικού του Neural Engine για ομαλή κίνηση χωρίς φόρτο CPU.

Digital Crown και χειρονομίες

Digital Crown — η κορόνα στο πλευρικό πλαίσιο του Apple Watch. Το SwiftUI παρέχει DigitalCrownRotation για σύνδεση μιας τιμής με την περιστροφή της κορόνας. Ο τροποποιητής δέχεται μια σύνδεση (binding), ένα εύρος και ένα βήμα. Χειρονομίες: tap (άγγιγμα), longPress (παρατεταμένο πάτημα), swipe (σάρωση) και pan (σύρσιμο) — όλες στάνταρ για το SwiftUI και προσαρμοσμένες στο μέγεθος οθόνης του ρολογιού.

WatchKit και στοιχεία εφαρμογής watchOS

WatchKit — το αρχικό πλαίσιο για watchOS που χρησιμοποιεί την προσέγγιση UIKit. Αν και η Apple συνιστά το SwiftUI, το WatchKit παραμένει σχετικό για παλαιότερα έργα και συγκεκριμένες εργασίες: σύνθετα κινούμενα σχέδια σε WKInterfaceGroup και ενσωμάτωση με SiriKit.

Δομή εφαρμογής watchOS

Η εφαρμογή για watchOS αποτελείται από δύο στόχους: WatchKit Extension (λογική και διεπαφή) και iOS Companion App (ρυθμίσεις και συγχρονισμός). Από το Xcode 15, είναι δυνατή η δημιουργία αυτόνομης εφαρμογής χωρίς συνοδό iOS. Η διεπαφή περιγράφεται στο Interface.storyboard (WatchKit) ή προγραμματιστικά μέσω SwiftUI.

ΣτοιχείοWatchKitSwiftUI
ΟθόνηWKInterfaceControllerView
ΚουμπίWKInterfaceButtonButton
ΠίνακαςWKInterfaceTableList
ΟμάδαWKInterfaceGroupVStack / HStack
ΕικόναWKInterfaceImageImage / AsyncImage
ΕτικέταWKInterfaceLabelText
ΧάρτηςWKInterfaceMapMap (watchOS 10+)
Όψη ρολογιούCLKComplicationDataSourceComplicationDescriptor

Complications — δεδομένα στην όψη ρολογιού

Complication — widget που εμφανίζει δεδομένα στην όψη του Apple Watch. Ο προγραμματιστής υλοποιεί το πρωτόκολλο CLKComplicationDataSource, παρέχοντας πρότυπα για διαφορετικούς τύπους όψεων ρολογιού (circular, rectangular, modular, extraLarge). Το watchOS 10 υποστηρίζει ComplicationDescriptor — απλοποιημένο API για SwiftUI. Τα δεδομένα ενημερώνονται μέσω Background Tasks με περίοδο έως 30 λεπτά.

Ενσωμάτωση με iPhone μέσω Watch Connectivity

Watch Connectivity — πλαίσιο για ανταλλαγή δεδομένων μεταξύ Apple Watch και iPhone μέσω Bluetooth ή Wi-Fi. Ο μόνος τρόπος επικοινωνίας μεταξύ ζευγαρωμένων συσκευών. WCSession — η κεντρική κλάση που διαχειρίζεται τη συνεδρία. Η εφαρμογή iOS και η επέκταση watchOS πρέπει να υλοποιούν το WCSessionDelegate.

Μέθοδοι μετάδοσης δεδομένων

Το Watch Connectivity παρέχει τέσσερις μεθόδους μετάδοσης δεδομένων: sendMessage — άμεση αποστολή με επιβεβαίωση (λειτουργεί μόνο όταν και οι δύο εφαρμογές είναι ενεργές), transferUserInfo — παράδοση παρασκηνίου λεξικού δεδομένων, transferFile — μεταφορά αρχείων με μεταδεδομένα, updateApplicationContext — συγχρονισμός κοινής κατάστασης. Όλες οι μέθοδοι εγγυώνται παράδοση κατά την αποκατάσταση της σύνδεσης.

swift
import WatchConnectivity

/// Διαχειριστής συγχρονισμού μεταξύ iPhone και Apple Watch
final class ConnectivityManager: NSObject, WCSessionDelegate {

    static let shared = ConnectivityManager()
    private let session = WCSession.default

    override private init() {
        super.init()
        session.delegate = self
        session.activate()
    }

    // MARK: — Αποστολή δεδομένων από iPhone στο ρολόι
    func sendWorkoutData(_ data: [String: Any]) {
        guard session.isReachable else {
            // Εάν το ρολόι δεν είναι διαθέσιμο — αποθήκευση στο περιβάλλον
            try? session.updateApplicationContext(data)
            return
        }
        session.sendMessage(data, replyHandler: nil) { error in
            print("Send error: \(error.localizedDescription)")
        }
    }

    // MARK: — Λήψη δεδομένων στο ρολόι
    func session(_ session: WCSession,
                 didReceiveMessage message: [String: Any]) {
        DispatchQueue.main.async {
            NotificationCenter.default.post(
                name: NSNotification.Name("dataReceived"),
                object: message
            )
        }
    }

    func session(_ session: WCSession,
                 activationDidCompleteWith activationState: WCSessionActivationState,
                 error: Error?) {
        print("WCSession activated: \(activationState.rawValue)")
    }

    // Δεν απαιτείται στο watchOS, αλλά υποχρεωτικό για το πρωτόκολλο
    func sessionDidBecomeInactive(_ session: WCSession) {}
    func sessionDidDeactivate(_ session: WCSession) {
        session.activate()
    }
}

Το ConnectivityManager υλοποιεί ένα singleton για εργασία με WCSession. Το sendWorkoutData ελέγχει το isReachable: εάν το ρολόι είναι ενεργό, τα δεδομένα αποστέλλονται άμεσα μέσω sendMessage· εάν όχι — αποθηκεύονται στο applicationContext για καθυστερημένη παράδοση. Το onReceiveMessage στην πλευρά του παραλήπτη επεξεργάζεται τα εισερχόμενα μηνύματα και ειδοποιεί την εφαρμογή μέσω του NotificationCenter.

Ανταλλαγή αρχείων και συγχρονισμός

Το transferFile επιτρέπει τη μεταφορά μεγάλων όγκων δεδομένων: εικόνες, αρχεία ήχου, αρχεία. Μέγιστο μέγεθος αρχείου — 100 MB. Τα αρχεία αποθηκεύονται στον κατάλογο Inbox στη συσκευή λήψης. Το transferUserInfo είναι κατάλληλο για δεδομένα JSON έως 100 KB. Όλες οι μέθοδοι λειτουργούν στο παρασκήνιο: εάν η συσκευή δεν είναι διαθέσιμη, η μετάδοση μπαίνει σε ουρά αναμονής και συνεχίζεται αυτόματα κατά την αποκατάσταση της σύνδεσης.

Δημοσίευση εφαρμογών watchOS

Η δημοσίευση εφαρμογής watchOS ακολουθεί τους ίδιους κανόνες με το iOS: απαιτείται συνδρομή Apple Developer Program ($99/έτος) και διέλευση από τη διαδικασία ελέγχου App Review. Η εφαρμογή μεταφορτώνεται στο App Store Connect ως μέρος της εφαρμογής iOS ή ως αυτόνομη εφαρμογή.

Κατασκευή και διανομή

Η εφαρμογή watchOS μπορεί να παραδοθεί με δύο τρόπους: ως ενσωματωμένη επέκταση της εφαρμογής iOS (το iOS app bundle περιέχει το watchOS .app) ή ως αυτόνομη εφαρμογή (μεταφορτώνεται και λειτουργεί χωρίς iPhone). Για την αυτόνομη λειτουργία απαιτείται WKRunsIndependently = YES στο Info.plist. Το μέγεθος της εφαρμογής watchOS περιορίζεται στα 50 MB για λήψη μέσω κινητού δικτύου.

Απαιτήσεις App Review

Ειδικές απαιτήσεις για watchOS: η εφαρμογή πρέπει να λειτουργεί σωστά χωρίς ενεργό iPhone (εάν έχει δηλωθεί ως αυτόνομη), η διεπαφή πρέπει να είναι ευανάγνωστη χωρίς μεγέθυνση, όλα τα διαδραστικά στοιχεία — τουλάχιστον 44 σημεία σε μέγεθος. Απαγορεύονται εφαρμογές που αντιγράφουν τη λειτουργικότητα ενσωματωμένων (π.χ. παλμογράφος χωρίς πρόσθετη αξία).

ΑπαίτησηΠεριγραφή
Μέγεθος εφαρμογήςΈως 50 MB για λήψη κινητού, έως 4 GB μέσω Wi-Fi
Αυτόνομη λειτουργίαWKRunsIndependently = YES στο Info.plist
Στόχοι αφήςΕλάχιστο 44 pt για όλα τα διαδραστικά στοιχεία
ΑσφάλειαΤα δεδομένα HealthKit δεν μπορούν να μεταδοθούν σε διακομιστή χωρίς συγκατάθεση
ΑπόδοσηΕκκίνηση εφαρμογής όχι περισσότερο από 5 δευτερόλεπτα

Συχνές Ερωτήσεις

Ποιες γλώσσες χρησιμοποιούνται για την ανάπτυξη watchOS;

Η κύρια γλώσσα είναι η Swift με το πλαίσιο SwiftUI. Το WatchKit σε UIKit υποστηρίζεται επίσης, αλλά η Apple συνιστά το SwiftUI για όλα τα νέα έργα watchOS. Η Objective-C χρησιμοποιείται μόνο σε παλαιές εφαρμογές που κυκλοφόρησαν πριν από το 2019. Από το watchOS 7, όλα τα παραδείγματα της Apple χρησιμοποιούν αποκλειστικά SwiftUI.

Απαιτείται iPhone για τη λειτουργία εφαρμογής watchOS;

Από το watchOS 6, το Apple Watch μπορεί να εγκαθιστά εφαρμογές απευθείας από το App Store χωρίς iPhone. Ωστόσο, πολλές λειτουργίες — συγχρονισμός δεδομένων, ειδοποιήσεις push, γεωγραφική θέση — απαιτούν σύζευξη με iPhone. Πλήρως αυτόνομες εφαρμογές είναι δυνατές με watchOS 9 και WKRunsIndependently στις ρυθμίσεις κατασκευής.

Πόση είναι η αυτονομία του Apple Watch με ενεργή εφαρμογή;

Τυπική αυτονομία Apple Watch Series 9 — έως 18 ώρες σε μεικτή λειτουργία. Με ενεργή χρήση εφαρμογής με GPS και παλμογράφο — 5-7 ώρες. Το watchOS 10 βελτιστοποιεί την κατανάλωση ενέργειας μέσω του Smart Stack και του BGTaskScheduler, μειώνοντας τη δραστηριότητα παρασκηνίου των εφαρμογών έως 4 φορές σε σύγκριση με το watchOS 9.

Πώς γίνεται η μεταφορά δεδομένων μεταξύ iPhone και Apple Watch;

Το πλαίσιο Watch Connectivity παρέχει τέσσερις μεθόδους: sendMessage (άμεση μεταφορά), transferUserInfo (παρασκήνιο), transferFile (αρχεία έως 100 MB) και updateApplicationContext (συγχρονισμός κατάστασης). Όλες οι μέθοδοι λειτουργούν μέσω Bluetooth ή Wi-Fi με αυτόματη τοποθέτηση σε ουρά όταν χαθεί η σύνδεση.

Ποιοι αισθητήρες είναι διαθέσιμοι στο Apple Watch;

Τα Apple Watch Series 9 και Ultra 2 περιλαμβάνουν: επιταχυνσιόμετρο, γυροσκόπιο, οπτικό και ηλεκτρικό παλμογράφο, SpO2 (κορεσμός), αισθητήρα θερμοκρασίας καρπού, βαρόμετρο, πυξίδα, GPS L1+L5 και μικρόφωνο. Πρόσβαση σε αισθητήρες — μέσω HealthKit και Core Motion. Τα δεδομένα παλμού και SpO2 απαιτούν ρητή άδεια χρήστη.

Σύνοψη

  • watchOS — το λειτουργικό σύστημα της Apple για έξυπνα ρολόγια σε πυρήνα XNU με έμφαση στην ενεργειακή απόδοση και ενσωμάτωση με iPhone
  • SwiftUI — το κύριο πλαίσιο για watchOS, που παρέχει δηλωτική διάταξη και αυτόματη προσαρμογή στο μέγεθος οθόνης
  • watchOS 10 παρουσίασε Smart Stack, Double Tap (S9+), NavigationStack και WidgetKit για widget
  • Watch Connectivity — το μοναδικό κανάλι επικοινωνίας με iPhone μέσω Bluetooth/Wi-Fi με τέσσερις τρόπους μετάδοσης
  • HealthKit παρέχει πρόσβαση σε αισθητήρες Apple Watch: παλμός, SpO2, θερμοκρασία, επιταχυνσιόμετρο, GPS
  • Complications — widget στην όψη ρολογιού, που υλοποιούνται μέσω CLKComplicationDataSource ή SwiftUI
  • Δημοσίευση απαιτεί Apple Developer Program, μέγεθος έως 50 MB (κινητό) και αυστηρό έλεγχο απόδοσης

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης