watchOS: مبانی توسعه برای Apple Watch با SwiftUI

نویسنده: IT Sectr منتشر شده: 2026-02-07 زمان مطالعه: 12 دقیقه

watchOS — سیستم عامل اپل برای Apple Watch است که اولین بار در سال ۲۰۱۵ همراه با اولین ساعت‌ها منتشر شد. توسعه برنامه‌های watchOS با استفاده از Swift و SwiftUI و WatchKit انجام می‌شود. ویژگی‌ها: صفحه نمایش مستطیلی کوچک، مصرف انرژی محدود باتری ۰٫۳ وات‌ساعت و یکپارچگی نزدیک با iPhone از طریق بلوتوث. بر اساس داده‌های Counterpoint Research، Apple Watch بیش از ۳۰٪ از بازار جهانی ساعت‌های هوشمند را در اختیار دارد.

نکات کلیدی

  • watchOS — سیستم عامل Apple Watch بر پایه هسته XNU با تمرکز بر مصرف انرژی پایین
  • SwiftUI — چارچوب اصلی برای توسعه رابط‌های کاربری برنامه‌های watchOS
  • Watch Connectivity — مکانیزم تبادل داده بین Apple Watch و iPhone
  • Smart Stack — پشته هوشمند ویجت‌ها که در watchOS 10 معرفی شد
  • HealthKit — چارچوب دسترسی به سنسورها: ضربان قلب، SpO2، دما، شتاب‌سنج

watchOS چیست؟

watchOS — سیستم عامل ساعت‌های هوشمند اپل است که بر پایه هسته XNU Darwin ساخته شده است. اولین بار در ۲۴ آوریل ۲۰۱۵ همراه با Apple Watch Series 0 منتشر شد. این سیستم بر روی همان معماری iOS ساخته شده اما برای نمایشگر کوچک (۱٫۵ تا ۱٫۹ اینچ)، حافظه محدود (تا ۱ گیگابایت RAM در Series 9) و مصرف انرژی حداقلی بهینه‌سازی شده است.

بر اساس داده‌های StatCounter (۲۰۲۶)، watchOS حدود ۵۵٪ از بازار سیستم‌های عامل ساعت‌های هوشمند را در اختیار دارد و از Wear OS و سیستم‌های اختصاصی تولیدکنندگان چینی پیشی گرفته است. اپل هر سال به‌روزرسانی‌های اصلی watchOS را منتشر می‌کند و ساعت‌ها را تا ۵ سال از زمان عرضه پشتیبانی می‌کند.

ویژگی کلیدی watchOS — وابستگی به iPhone است. بیشتر برنامه‌ها از Watch Connectivity برای همگام‌سازی داده‌ها استفاده می‌کنند. از watchOS 6 به بعد، ساعت‌ها می‌توانند برنامه‌ها را مستقیماً از App Store نصب کنند، اما استقلال کامل بدون iPhone فقط از watchOS 9 پشتیبانی می‌شود.

تاریخچه نسخه‌های watchOS

نسخه اول Watch OS 1.0 از برنامه‌های شخص ثالث پشتیبانی نمی‌کرد — فقط برنامه‌های از پیش نصب شده اپل. watchOS 2 (۲۰۱۵) SDK را برای توسعه‌دهندگان باز کرد. watchOS 3 (۲۰۱۶) راه‌اندازی برنامه‌ها را ۷ برابر سریع‌تر کرد. watchOS 6 (۲۰۱۹) App Store را روی ساعت معرفی کرد. watchOS 9 (۲۰۲۲) داروها و ردیابی پیشرفته خواب را اضافه کرد. watchOS 10 (۲۰۲۳) بزرگترین به‌روزرسانی رابط کاربری از زمان عرضه شد.

نسخه watchOSسالنوآوری کلیدی
Watch OS 1۲۰۱۵نسخه اول، فقط برنامه‌های بومی اپل
watchOS 2۲۰۱۵SDK باز، برنامه‌های شخص ثالث، Watch Connectivity
watchOS 3۲۰۱۶راه‌اندازی فوری برنامه‌ها، Dock، Scribble
watchOS 6۲۰۱۹App Store روی ساعت، Cycle Tracking، Noise app
watchOS 9۲۰۲۲داروها، مراحل خواب، همراه پیشرفته دویدن
watchOS 10۲۰۲۳Smart Stack، Double Tap، صفحه‌های جدید ساعت

معماری watchOS

معماری watchOS از سه سطح تشکیل شده است که سخت‌افزار را از برنامه‌های کاربردی جدا می‌کند. برخلاف iOS، watchOS از رویکرد مؤلفه‌ای استفاده می‌کند: برنامه از دو هدف تشکیل شده است — extension (افزونه) و میزبان روی iPhone.

هسته و سرویس‌های سیستمی

سطح پایین — هسته اصلاح‌شده XNU با درایورهای تراشه‌های S4/S5/S6/S7/S8/S9 اپل. در Apple Watch Series 9 از S9 SiP با ۵٫۶ میلیارد ترانزیستور و Neural Engine 4 هسته‌ای استفاده شده است. سرویس‌های سیستمی شامل Core Bluetooth، Watch Connectivity، HealthKit و Core Motion هستند. تمام وظایف پس‌زمینه توسط BGTaskScheduler — زمان‌بند سیستمی که مصرف انرژی را بهینه می‌کند — مدیریت می‌شوند.

WatchKit — لایه برنامه‌ها

WatchKit — چارچوبی برای ایجاد رابط‌های کاربری برنامه‌های watchOS. شامل WKInterfaceController، WKInterfaceGroup، WKInterfaceLabel و WKInterfaceButton. از watchOS 6 اپل به جای WatchKit، SwiftUI را توصیه می‌کند. SwiftUI همان قابلیت‌ها را با نحو declarative و تطبیق خودکار با اندازه صفحه ارائه می‌دهد: ۳۸ میلی‌متر (۲۷۲×۳۴۰)، ۴۲ میلی‌متر (۳۱۲×۳۹۰)، ۴۰ میلی‌متر (۳۲۴×۳۹۴)، ۴۴ میلی‌متر (۳۶۸×۴۴۸)، ۴۵ میلی‌متر (۳۹۶×۴۸۴)، ۴۹ میلی‌متر (۴۱۰×۵۰۲ در Apple Watch Ultra).

حالت‌های پس‌زمینه و مصرف انرژی

watchOS برای صرفه‌جویی در باتری، کار پس‌زمینه برنامه‌ها را محدود می‌کند. حالت‌های پس‌زمینه موجود: Workout (تمرینات)، HealthKit (پایش سلامت)، Location (موقعیت جغرافیایی)، Audio (پخش‌کننده صدا) و Complication (داده‌های روی صفحه ساعت). هر حالت یک capability جداگانه در entitlements درخواست می‌کند. مصرف انرژی معمول: برنامه فعال — ۵۰-۸۰ میلی‌آمپر، حالت پس‌زمینه — ۵-۱۵ میلی‌آمپر، آماده به کار — ۱-۳ میلی‌آمپر.

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 ویجت‌های صفحه ساعت انتخاب‌شده را به‌روز می‌کند.

watchOS 10: Smart Stack و Double Tap

watchOS 10 — بزرگترین به‌روزرسانی رابط کاربری در تاریخ پلتفرم است که در سپتامبر ۲۰۲۳ منتشر شد. سیستم از ناوبری سلسله‌مراتبی به ناوبری محتوا‑محور تغییر کرد: صفحه اصلی به Smart Stack — پشته هوشمند ویجت‌ها که جایگزین داک برنامه‌ها شد — تبدیل شد.

Smart Stack

Smart Stack — لیست عمودی ویجت‌هاست که در زیر صفحه ساعت نمایش داده می‌شود. ویجت‌ها بر اساس زمینه رتبه‌بندی می‌شوند: صبح هوا و تقویم، بعدازظهر فعالیت و یادآوری‌ها، عصر مدیتیشن و آمادگی برای خواب نمایش داده می‌شود. توسعه‌دهنده می‌تواند ویجت‌های سفارشی را از طریق WidgetKit برای watchOS با استفاده از همان APIهای iOS 17 اضافه کند.

Double Tap

Double Tap — ژست جمع کردن انگشت اشاره و شست است که توسط شتاب‌سنج و ژیروسکوپ بدون لمس صفحه تشخیص داده می‌شود. در Apple Watch Series 9 و Ultra 2 این ژست در سطح سخت‌افزار از طریق Neural Engine انجام می‌شود. توسعه‌دهنده رویداد را از طریق UIDoubleTapGestureRecognizer یا از طریق modifier SwiftUI .onTapGesture(count: 2) دریافت می‌کند. این ژست نیاز به کالیبراسیون ندارد و در هر جهتی از دست کار می‌کند.

APIهای جدید برای توسعه‌دهندگان

watchOS 10 معرفی کرد: SwiftUI Animation با پشتیبانی از انیمیشن‌های Spring و Keyframe، MapKit برای نمایش نقشه‌ها روی ساعت، VideoPlayer برای پخش ویدیوهای کوتاه (تا ۳۰ ثانیه)، VoiceOver بهبودیافته با ژست‌ها و پارادایم ناوبری جدید NavigationStack به جای NavigationView.

APIکاربرددر دسترس از
WidgetKit for watchOSویجت‌های Smart StackwatchOS 10
UIDoubleTapGestureژست Double TapwatchOS 10 (S9+)
MapKitنمایش نقشه روی ساعتwatchOS 10
NavigationStackپارادایم ناوبری جدیدwatchOS 10
SwiftUI Keyframeانیمیشن فریم به فریمwatchOS 10

SwiftUI برای Apple Watch

SwiftUI — چارچوب اصلی برای توسعه رابط‌های کاربری watchOS است. اپل SwiftUI را برای همه پروژه‌های جدید از watchOS 7 توصیه می‌کند. SwiftUI برای ساعت از همان اصول iOS استفاده می‌کند اما با modifierها و کامپوننت‌های مخصوص watchOS.

کامپوننت‌های SwiftUI مخصوص watchOS

SwiftUI برای watchOS شامل: TabView با استایل page برای سوایپ بین صفحه‌ها، 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("ضربان/دقیقه")
                .font(.caption)
                .foregroundStyle(.secondary)
        }
    }
}

برنامه HeartMonitorApp ساختار معمول یک برنامه watchOS در SwiftUI را نشان می‌دهد: TabView با استایل page برای سوایپ بین صفحه‌ها، یکپارچگی با HealthKit برای خواندن ضربان قلب در زمان واقعی، WKNotificationScene برای پردازش اعلان‌ها. SymbolEffect با انیمیشن pulse از شتاب‌دهی سخت‌افزاری Neural Engine برای انیمیشن روان بدون مصرف CPU استفاده می‌کند.

Digital Crown و ژست‌ها

Digital Crown — تاج روی پنل جانبی Apple Watch است. SwiftUI DigitalCrownRotation را برای اتصال مقدار به چرخش تاج ارائه می‌دهد. modifier یک binding، بازه و گام دریافت می‌کند. ژست‌ها: tap (لمس)، longPress (فشار طولانی)، swipe (کشیدن) و pan (درگ کردن) — همه استاندارد برای SwiftUI و متناسب با اندازه صفحه ساعت تطبیق داده شده‌اند.

WatchKit و کامپوننت‌های برنامه watchOS

WatchKit — چارچوب اصلی watchOS است که از رویکرد UIKit استفاده می‌کند. اگرچه اپل SwiftUI را توصیه می‌کند، WatchKit همچنان برای پروژه‌های قدیمی و وظایف خاص مانند انیمیشن‌های پیچیده روی WKInterfaceGroup و یکپارچگی با SiriKit مرتبط است.

ساختار برنامه watchOS

برنامه watchOS از دو هدف تشکیل شده است: WatchKit Extension (منطق و رابط کاربری) و iOS Companion App (تنظیمات و همگام‌سازی). از Xcode 15 به بعد، ایجاد برنامه standalone بدون همراه iOS امکان‌پذیر است. رابط کاربری در Interface.storyboard (WatchKit) یا به صورت برنامه‌نویسی از طریق SwiftUI توصیف می‌شود.

کامپوننتWatchKitSwiftUI
صفحهWKInterfaceControllerView
دکمهWKInterfaceButtonButton
جدولWKInterfaceTableList
گروهWKInterfaceGroupVStack / HStack
تصویرWKInterfaceImageImage / AsyncImage
برچسبWKInterfaceLabelText
نقشهWKInterfaceMapMap (watchOS 10+)
صفحه ساعتCLKComplicationDataSourceComplicationDescriptor

Complications — داده‌های روی صفحه ساعت

Complication — ویجتی است که داده‌ها را روی صفحه Apple Watch نمایش می‌دهد. توسعه‌دهنده پروتکل CLKComplicationDataSource را پیاده‌سازی می‌کند و قالب‌هایی برای انواع مختلف صفحه‌های ساعت (circular, rectangular, modular, extraLarge) ارائه می‌دهد. watchOS 10 از ComplicationDescriptor — API ساده‌شده برای SwiftUI پشتیبانی می‌کند. داده‌ها از طریق Background Tasks با دوره حداکثر ۳۰ دقیقه به‌روز می‌شوند.

یکپارچگی با iPhone از طریق Watch Connectivity

Watch Connectivity — چارچوبی برای تبادل داده بین Apple Watch و iPhone از طریق بلوتوث یا 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 امکان انتقال حجم زیادی از داده‌ها را فراهم می‌کند: تصاویر، فایل‌های صوتی، آرشیوها. حداکثر اندازه فایل — ۱۰۰ مگابایت. فایل‌ها در دایرکتوری Inbox روی دستگاه گیرنده ذخیره می‌شوند. transferUserInfo برای داده‌های JSON تا ۱۰۰ کیلوبایت مناسب است. همه روش‌ها در پس‌زمینه کار می‌کنند: اگر دستگاه در دسترس نباشد، انتقال در صف قرار می‌گیرد و پس از برقراری مجدد اتصال به طور خودکار از سر گرفته می‌شود.

انتشار برنامه‌های watchOS

انتشار برنامه watchOS تابع همان قوانین iOS است: اشتراک Apple Developer Program (۹۹ دلار/سال) و گذراندن نظارت App Review الزامی است. برنامه در App Store Connect به عنوان بخشی از برنامه iOS یا به عنوان برنامه standalone بارگذاری می‌شود.

ساخت و توزیع

برنامه watchOS می‌تواند به دو صورت عرضه شود: به عنوان افزونه داخلی برنامه iOS (iOS app bundle شامل watchOS .app) یا به عنوان برنامه standalone (بدون iPhone بارگذاری و اجرا می‌شود). برای حالت standalone WKRunsIndependently = YES در Info.plist الزامی است. اندازه برنامه watchOS برای بارگذاری از طریق شبکه سلولی به ۵۰ مگابایت محدود شده است.

الزامات App Review

الزامات خاص برای watchOS: برنامه باید بدون iPhone فعال به درستی کار کند (اگر به عنوان standalone اعلام شده باشد)، رابط کاربری باید بدون بزرگنمایی قابل خواندن باشد، همه عناصر تعاملی — حداقل ۴۴ نقطه در اندازه. برنامه‌هایی که عملکرد برنامه‌های داخلی را تکرار می‌کنند (مانند ضربان‌سنج بدون ارزش اضافی) ممنوع هستند.

الزامتوضیحات
اندازه برنامهتا ۵۰ مگابایت برای بارگذاری سلولی، تا ۴ گیگابایت از طریق Wi-Fi
حالت standaloneWKRunsIndependently = YES در Info.plist
اهداف لمسیحداقل ۴۴ pt برای همه عناصر تعاملی
امنیتداده‌های HealthKit بدون رضایت قابل ارسال به سرور نیستند
عملکردراه‌اندازی برنامه حداکثر ۵ ثانیه

سوالات متداول

چه زبان‌هایی برای توسعه watchOS استفاده می‌شود؟

زبان اصلی Swift با چارچوب SwiftUI است. WatchKit روی UIKit نیز پشتیبانی می‌شود، اما اپل SwiftUI را برای همه پروژه‌های جدید watchOS توصیه می‌کند. Objective-C فقط در برنامه‌های قدیمی منتشر شده قبل از ۲۰۱۹ استفاده می‌شود. از watchOS 7 تمام نمونه‌های اپل منحصراً از SwiftUI استفاده می‌کنند.

آیا iPhone برای کار کردن برنامه watchOS لازم است؟

از watchOS 6 به بعد، Apple Watch می‌تواند برنامه‌ها را مستقیماً از App Store بدون iPhone نصب کند. با این حال بسیاری از عملکردها — همگام‌سازی داده‌ها، اعلان‌های push، موقعیت جغرافیایی — نیاز به جفت شدن با iPhone دارند. برنامه‌های کاملاً مستقل از watchOS 9 و WKRunsIndependently در تنظیمات ساخت امکان‌پذیر هستند.

عمر باتری Apple Watch با برنامه فعال چقدر است؟

عمر باتری معمول Apple Watch Series 9 — تا ۱۸ ساعت در حالت ترکیبی. با استفاده فعال از برنامه با GPS و ضربان‌سنج — ۵-۷ ساعت. watchOS 10 مصرف انرژی را از طریق Smart Stack و BGTaskScheduler بهینه می‌کند و فعالیت پس‌زمینه برنامه‌ها را تا ۴ برابر در مقایسه با watchOS 9 کاهش می‌دهد.

چگونه داده‌ها را بین iPhone و Apple Watch انتقال دهیم؟

چارچوب Watch Connectivity چهار روش ارائه می‌دهد: sendMessage (ارسال فوری)، transferUserInfo (پس‌زمینه)، transferFile (فایل‌ها تا ۱۰۰ مگابایت) و updateApplicationContext (همگام‌سازی وضعیت). همه روش‌ها از طریق بلوتوث یا Wi-Fi با قرار دادن خودکار در صف در هنگام قطع اتصال کار می‌کنند.

چه سنسورهایی در Apple Watch موجود است؟

Apple Watch Series 9 و Ultra 2 شامل: شتاب‌سنج، ژیروسکوپ، ضربان‌سنج نوری و الکتریکی، SpO2 (اشباع اکسیژن)، سنسور دمای مچ، فشارسنج، قطب‌نما، GPS L1+L5 و میکروفون. دسترسی به سنسورها — از طریق HealthKit و Core Motion. داده‌های ضربان قلب و SpO2 نیاز به اجازه صریح کاربر دارند.

خلاصه

  • watchOS — سیستم عامل اپل برای ساعت‌های هوشمند بر هسته XNU با تمرکز بر بهره‌وری انرژی و یکپارچگی با iPhone
  • SwiftUI — چارچوب اصلی watchOS با طراحی declarative و تطبیق خودکار با اندازه صفحه
  • watchOS 10 Smart Stack، Double Tap (S9+)، NavigationStack و WidgetKit برای ویجت‌ها را معرفی کرد
  • Watch Connectivity — تنها کانال ارتباط با iPhone از طریق Bluetooth/Wi-Fi با چهار حالت انتقال
  • HealthKit دسترسی به سنسورهای Apple Watch را فراهم می‌کند: ضربان قلب، SpO2، دما، شتاب‌سنج، GPS
  • Complications — ویجت‌های صفحه ساعت که از طریق CLKComplicationDataSource یا SwiftUI پیاده‌سازی می‌شوند
  • انتشار نیاز به Apple Developer Program، اندازه تا ۵۰ مگابایت (سلولی) و کنترل دقیق عملکرد دارد

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید