watchOS: SwiftUI দিয়ে Apple Watch ডেভেলপমেন্টের মৌলিক বিষয়

লেখক: IT Sectr প্রকাশিত: 2026-02-07 পড়ার সময়: 12 মিনিট

watchOS হল Apple Watch-এর জন্য Apple-এর অপারেটিং সিস্টেম, যা প্রথম 2015 সালে প্রথম ঘড়িগুলোর সাথে প্রকাশিত হয়েছিল। watchOS-এর অধীনে অ্যাপ ডেভেলপমেন্ট SwiftUI এবং WatchKit ব্যবহার করে Swift-এ করা হয়। বৈশিষ্ট্য: ছোট আয়তাকার স্ক্রিন, 0.3 Wh-এর সীমিত ব্যাটারি খরচ এবং Bluetooth-এর মাধ্যমে iPhone-এর সাথে গভীর একীকরণ। Counterpoint Research-এর মতে, Apple Watch বিশ্বব্যাপী স্মার্টওয়াচ বাজারের 30% এর বেশি ধারণ করে।

মূল বিষয়

  • watchOS — XNU কার্নেলের উপর ভিত্তি করে Apple Watch-এর জন্য OS, নিম্ন শক্তি খরচের উপর ফোকাস সহ
  • SwiftUI — watchOS অ্যাপ ইন্টারফেস ডেভেলপমেন্টের জন্য প্রাথমিক ফ্রেমওয়ার্ক
  • Watch Connectivity — Apple Watch এবং iPhone-এর মধ্যে ডেটা বিনিময় প্রক্রিয়া
  • Smart Stack — watchOS 10-এ প্রবর্তিত একটি বুদ্ধিমান উইজেট স্ট্যাক
  • HealthKit — সেন্সর অ্যাক্সেসের জন্য ফ্রেমওয়ার্ক: হৃদস্পন্দন, SpO2, তাপমাত্রা, অ্যাক্সিলারোমিটার

watchOS কী?

watchOS হল Apple-এর স্মার্টওয়াচের জন্য অপারেটিং সিস্টেম, যা Darwin XNU কার্নেলের উপর ভিত্তি করে। প্রথম প্রকাশিত হয় 24 এপ্রিল 2015-এ Apple Watch Series 0-এর সাথে। সিস্টেমটি iOS-এর মতো একই আর্কিটেকচারে নির্মিত, কিন্তু ছোট ডিসপ্লে (1.5 থেকে 1.9 ইঞ্চি), সীমিত মেমরি (Series 9-এ 1 GB RAM পর্যন্ত) এবং ন্যূনতম শক্তি খরচের জন্য অপ্টিমাইজড।

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 62019ঘড়িতে App Store, Cycle Tracking, Noise অ্যাপ
watchOS 92022ওষুধ, ঘুমের ধাপ, উন্নত রানিং কম্প্যানিয়ন
watchOS 102023Smart Stack, Double Tap, নতুন ওয়াচ ফেস

watchOS আর্কিটেকচার

watchOS আর্কিটেকচার তিনটি স্তর নিয়ে গঠিত, যা হার্ডওয়্যারকে ব্যবহারকারী অ্যাপ থেকে বিচ্ছিন্ন করে। iOS-এর বিপরীতে, watchOS একটি কম্পোনেন্ট-ভিত্তিক পদ্ধতি ব্যবহার করে: একটি অ্যাপ দুটি টার্গেট নিয়ে গঠিত — একটি এক্সটেনশন এবং একটি iPhone হোস্ট।

কার্নেল এবং সিস্টেম সার্ভিস

নিচের স্তরটি হল Apple-এর S4/S5/S6/S7/S8/S9 চিপের জন্য ড্রাইভার সহ একটি পরিবর্তিত XNU কার্নেল। Apple Watch Series 9 5.6 বিলিয়ন ট্রানজিস্টর এবং 4-কোর Neural Engine সহ S9 SiP ব্যবহার করে। সিস্টেম সার্ভিসের মধ্যে রয়েছে Core Bluetooth, Watch Connectivity, HealthKit এবং Core Motion। সমস্ত ব্যাকগ্রাউন্ড কাজ BGTaskScheduler — একটি সিস্টেম শিডিউলারের মাধ্যমে পরিচালিত হয় যা শক্তি খরচ অপ্টিমাইজ করে।

WatchKit — অ্যাপ্লিকেশন স্তর

WatchKit হল watchOS অ্যাপ ইন্টারফেস তৈরির জন্য একটি ফ্রেমওয়ার্ক। এতে WKInterfaceController, WKInterfaceGroup, WKInterfaceLabel এবং WKInterfaceButton অন্তর্ভুক্ত রয়েছে। watchOS 6 থেকে, Apple WatchKit-এর পরিবর্তে SwiftUI সুপারিশ করে। SwiftUI একই ক্ষমতা প্রদান করে কিন্তু ঘোষণামূলক সিনট্যাক্স এবং স্ক্রিন আকারের সাথে স্বয়ংক্রিয় অভিযোজন সহ: 38 মিমি (272×340), 42 মিমি (312×390), 40 মিমি (324×394), 44 মিমি (368×448), 45 মিমি (396×484), 49 মিমি (Apple Watch Ultra-তে 410×502)।

ব্যাকগ্রাউন্ড মোড এবং শক্তি খরচ

watchOS ব্যাটারি বাঁচানোর জন্য অ্যাপের ব্যাকগ্রাউন্ড কার্যকলাপ সীমিত করে। উপলব্ধ ব্যাকগ্রাউন্ড মোড: Workout (ওয়ার্কআউট), HealthKit (স্বাস্থ্য পর্যবেক্ষণ), Location (জিওলোকেশন), Audio (অডিও প্লেয়ার), এবং Complication (ওয়াচ ফেসে ডেটা)। প্রতিটি মোডের জন্য entitlements-এ একটি পৃথক capability প্রয়োজন। সাধারণ শক্তি খরচ: সক্রিয় অ্যাপ — 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 নির্বাচিত ওয়াচ ফেসে উইজেট আপডেট করে।

watchOS 10: Smart Stack এবং Double Tap

watchOS 10 — প্ল্যাটফর্মের ইতিহাসে সবচেয়ে বড় ইন্টারফেস আপডেট, সেপ্টেম্বর 2023-এ প্রকাশিত। সিস্টেমটি শ্রেণিবদ্ধ নেভিগেশন থেকে বিষয়বস্তু-ভিত্তিক নেভিগেশনে স্থানান্তরিত হয়েছে: মূল স্ক্রিন হয়ে গেছে Smart Stack — একটি বুদ্ধিমান উইজেট স্ট্যাক যা অ্যাপ ডক প্রতিস্থাপন করেছে।

Smart Stack

Smart Stack হল ওয়াচ ফেসের নীচে প্রদর্শিত উইজেটের একটি উল্লম্ব তালিকা। উইজেটগুলি প্রসঙ্গ অনুসারে র‌্যাঙ্ক করা হয়: সকালে আবহাওয়া এবং ক্যালেন্ডার দেখায়, দিনে — কার্যকলাপ এবং অনুস্মারক, সন্ধ্যায় — ধ্যান এবং ঘুমের প্রস্তুতি। ডেভেলপার iOS 17-এর মতো একই API ব্যবহার করে WidgetKit-এর মাধ্যমে কাস্টম উইজেট যোগ করতে পারে।

Double Tap

Double Tap হল তর্জনী এবং বুড়ো আঙুল একসাথে আনার একটি অঙ্গভঙ্গি, যা স্ক্রিন স্পর্শ না করেই অ্যাক্সিলারোমিটার এবং জাইরোস্কোপ দ্বারা শনাক্ত করা হয়। Apple Watch Series 9 এবং Ultra 2-তে, অঙ্গভঙ্গিটি Neural Engine-এর মাধ্যমে হার্ডওয়্যার স্তরে পরিচালিত হয়। ডেভেলপার UIDoubleTapGestureRecognizer বা SwiftUI মডিফায়ার .onTapGesture(count: 2)-এর মাধ্যমে ইভেন্ট গ্রহণ করে। অঙ্গভঙ্গিটির ক্যালিব্রেশনের প্রয়োজন নেই এবং এটি যেকোনো হাতের অবস্থানে কাজ করে।

ডেভেলপারদের জন্য নতুন API

watchOS 10 প্রবর্তন করেছে: Spring এবং Keyframe অ্যানিমেশন সমর্থন সহ SwiftUI Animation, ঘড়িতে মানচিত্র প্রদর্শনের জন্য MapKit, ছোট ভিডিও (30 সেকেন্ড পর্যন্ত) চালানোর জন্য VideoPlayer, অঙ্গভঙ্গি সহ উন্নত VoiceOver, এবং NavigationView-এর পরিবর্তে নতুন নেভিগেশন প্যারাডাইম NavigationStack।

APIউদ্দেশ্যথেকে উপলব্ধ
WidgetKit for watchOSSmart Stack-এর জন্য উইজেটwatchOS 10
UIDoubleTapGestureDouble Tap অঙ্গভঙ্গিwatchOS 10 (S9+)
MapKitঘড়িতে মানচিত্র প্রদর্শনwatchOS 10
NavigationStackনতুন নেভিগেশন প্যারাডাইমwatchOS 10
SwiftUI Keyframeফ্রেম-বাই-ফ্রেম অ্যানিমেশনwatchOS 10

Apple Watch-এর জন্য SwiftUI

SwiftUI হল watchOS ইন্টারফেস ডেভেলপমেন্টের জন্য প্রাথমিক ফ্রেমওয়ার্ক। Apple watchOS 7 থেকে শুরু করে সমস্ত নতুন প্রকল্পের জন্য SwiftUI সুপারিশ করে। ঘড়ির জন্য SwiftUI iOS-এর মতো একই নীতি ব্যবহার করে, কিন্তু watchOS-নির্দিষ্ট মডিফায়ার এবং কম্পোনেন্ট সহ।

watchOS-নির্দিষ্ট SwiftUI কম্পোনেন্ট

watchOS-এর জন্য SwiftUI-তে অন্তর্ভুক্ত রয়েছে: স্ক্রিনের মধ্যে সোয়াইপ করার জন্য পৃষ্ঠা শৈলী সহ 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("বিপিএম")
                .font(.caption)
                .foregroundStyle(.secondary)
        }
    }
}

HeartMonitorApp SwiftUI-তে একটি সাধারণ watchOS অ্যাপ কাঠামো প্রদর্শন করে: স্ক্রিনের মধ্যে সোয়াইপ করার জন্য পৃষ্ঠা শৈলী সহ TabView, রিয়েল-টাইম হৃদস্পন্দন পড়ার জন্য HealthKit একীকরণ, বিজ্ঞপ্তি পরিচালনার জন্য WKNotificationScene। পালস অ্যানিমেশন সহ SymbolEffect CPU খরচ ছাড়াই মসৃণ অ্যানিমেশনের জন্য Neural Engine হার্ডওয়্যার ত্বরণ ব্যবহার করে।

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

কমপ্লিকেশন — ওয়াচ ফেসে ডেটা

কমপ্লিকেশন (Complication) হল একটি উইজেট যা Apple Watch ফেসে ডেটা প্রদর্শন করে। ডেভেলপার CLKComplicationDataSource প্রোটোকল বাস্তবায়ন করে, বিভিন্ন ওয়াচ ফেস টাইপের (circular, rectangular, modular, extraLarge) জন্য টেমপ্লেট প্রদান করে। watchOS 10 SwiftUI-এর জন্য একটি সরলীকৃত API — ComplicationDescriptor সমর্থন করে। ডেটা 30 মিনিট পর্যন্ত সময়ের মধ্যে ব্যাকগ্রাউন্ড টাস্কের মাধ্যমে আপডেট করা হয়।

Watch Connectivity-র মাধ্যমে iPhone একীকরণ

Watch Connectivity হল Bluetooth বা Wi-Fi-এর মাধ্যমে Apple Watch এবং iPhone-এর মধ্যে ডেটা বিনিময়ের জন্য একটি ফ্রেমওয়ার্ক। এটি জোড়া যন্ত্রের মধ্যে যোগাযোগের একমাত্র পদ্ধতি। 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("পাঠাতে ত্রুটি: \(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 সক্রিয়: \(activationState.rawValue)")
    }

    // watchOS-এ প্রয়োজন নেই তবে প্রোটোকলের জন্য বাধ্যতামূলক
    func sessionDidBecomeInactive(_ session: WCSession) {}
    func sessionDidDeactivate(_ session: WCSession) {
        session.activate()
    }
}

ConnectivityManager WCSession-এর সাথে কাজ করার জন্য সিঙ্গলটন বাস্তবায়ন করে। sendWorkoutData isReachable পরীক্ষা করে: যদি ঘড়ি সক্রিয় থাকে, ডেটা sendMessage-এর মাধ্যমে অবিলম্বে প্রেরণ করা হয়; যদি না হয় — বিলম্বিত ডেলিভারির জন্য applicationContext-এ সংরক্ষণ করা হয়। প্রাপক পক্ষের onReceiveMessage আগত বার্তাগুলি প্রক্রিয়া করে এবং NotificationCenter-এর মাধ্যমে অ্যাপকে জানায়।

ফাইল বিনিময় এবং সিঙ্ক্রোনাইজেশন

transferFile বড় পরিমাণ ডেটা স্থানান্তর করার অনুমতি দেয়: ছবি, অডিও ফাইল, আর্কাইভ। সর্বোচ্চ ফাইলের আকার 100 MB। ফাইলগুলি গ্রহণকারী ডিভাইসে Inbox ডিরেক্টরিতে সংরক্ষিত হয়। transferUserInfo 100 KB পর্যন্ত JSON ডেটার জন্য উপযুক্ত। সমস্ত পদ্ধতি ব্যাকগ্রাউন্ডে কাজ করে: যদি ডিভাইস অনুপলব্ধ থাকে, স্থানান্তরটি সারিবদ্ধ হয় এবং সংযোগ পুনরুদ্ধার হলে স্বয়ংক্রিয়ভাবে পুনরায় শুরু হয়।

watchOS অ্যাপ প্রকাশনা

watchOS অ্যাপ প্রকাশনা iOS-এর মতো একই নিয়ম অনুসরণ করে: Apple Developer Program সদস্যতা ($99/বছর) এবং App Review মডারেশন পাস করা প্রয়োজন। অ্যাপটি iOS অ্যাপের অংশ হিসাবে বা স্ট্যান্ডঅলোন অ্যাপ হিসাবে App Store Connect-এ আপলোড করা হয়।

বিল্ড এবং বিতরণ

watchOS অ্যাপ দুটি উপায়ে বিতরণ করা যেতে পারে: iOS অ্যাপ এক্সটেনশন হিসাবে (iOS অ্যাপ বান্ডেলে watchOS .app থাকে) বা স্ট্যান্ডঅলোন অ্যাপ হিসাবে (iPhone ছাড়াই ডাউনলোড এবং চলে)। স্ট্যান্ডঅলোন মোডের জন্য Info.plist-এ WKRunsIndependently = YES প্রয়োজন। watchOS অ্যাপের আকার সেলুলার ডাউনলোডের জন্য 50 MB পর্যন্ত সীমাবদ্ধ।

App Review প্রয়োজনীয়তা

watchOS-এর জন্য বিশেষ প্রয়োজনীয়তা: অ্যাপটিকে সক্রিয় iPhone ছাড়া সঠিকভাবে কাজ করতে হবে (যদি স্ট্যান্ডঅলোন হিসাবে দাবি করা হয়), ইন্টারফেস জুম না করেই পাঠযোগ্য হতে হবে, সমস্ত ইন্টারেক্টিভ উপাদান কমপক্ষে 44 পয়েন্ট আকারের হতে হবে। বিল্ট-ইন কার্যকারিতা নকল করে এমন অ্যাপ (যেমন, অতিরিক্ত মূল্য ছাড়াই হৃদস্পন্দন মনিটর) নিষিদ্ধ।

প্রয়োজনীয়তাবিবরণ
অ্যাপের আকারসেলুলার ডাউনলোডের জন্য 50 MB পর্যন্ত, Wi-Fi-এর মাধ্যমে 4 GB পর্যন্ত
স্ট্যান্ডঅলোন মোডInfo.plist-এ WKRunsIndependently = YES
স্পর্শ লক্ষ্যসমস্ত ইন্টারেক্টিভ উপাদানের জন্য ন্যূনতম 44 pt
নিরাপত্তাHealthKit ডেটা সম্মতি ছাড়া সার্ভারে পাঠানো যাবে না
কার্যক্ষমতাঅ্যাপ লঞ্চ 5 সেকেন্ডের বেশি নয়

সচরাচর জিজ্ঞাসিত প্রশ্ন

watchOS ডেভেলপমেন্টের জন্য কোন ভাষা ব্যবহার করা হয়?

প্রাথমিক ভাষা হল SwiftUI ফ্রেমওয়ার্ক সহ Swift। UIKit-এ WatchKit সমর্থিত, কিন্তু Apple সমস্ত নতুন watchOS প্রকল্পের জন্য SwiftUI সুপারিশ করে। Objective-C শুধুমাত্র 2019-এর আগে প্রকাশিত লিগ্যাসি অ্যাপে ব্যবহার করা হয়। watchOS 7 থেকে, সমস্ত Apple উদাহরণ একচেটিয়াভাবে SwiftUI ব্যবহার করে।

watchOS অ্যাপ চালানোর জন্য কি iPhone প্রয়োজন?

watchOS 6 থেকে শুরু করে, Apple Watch iPhone ছাড়াই সরাসরি App Store থেকে অ্যাপ ইনস্টল করতে পারে। তবে, অনেক বৈশিষ্ট্য — ডেটা সিঙ্ক্রোনাইজেশন, পুশ বিজ্ঞপ্তি, জিওলোকেশন — iPhone-এর সাথে জোড়ার প্রয়োজন। সম্পূর্ণ স্ট্যান্ডঅলোন অ্যাপ watchOS 9 এবং বিল্ড সেটিংসে WKRunsIndependently দিয়ে সম্ভব।

সক্রিয় অ্যাপ সহ Apple Watch-এর ব্যাটারি লাইফ কত?

Apple Watch Series 9-এর সাধারণ ব্যাটারি লাইফ মিশ্র মোডে 18 ঘন্টা পর্যন্ত। সক্রিয় GPS এবং হৃদস্পন্দন মনিটর ব্যবহারে — 5-7 ঘন্টা। watchOS 10 Smart Stack এবং BGTaskScheduler-এর মাধ্যমে শক্তি খরচ অপ্টিমাইজ করে, watchOS 9-এর তুলনায় ব্যাকগ্রাউন্ড অ্যাপ কার্যকলাপ 4 গুণ পর্যন্ত হ্রাস করে।

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 — XNU কার্নেলে Apple-এর স্মার্টওয়াচের জন্য অপারেটিং সিস্টেম, শক্তি দক্ষতা এবং iPhone একীকরণের উপর ফোকাস সহ
  • SwiftUI — watchOS-এর জন্য প্রাথমিক ফ্রেমওয়ার্ক, ঘোষণামূলক লেআউট এবং স্বয়ংক্রিয় স্ক্রিন আকার অভিযোজন প্রদান করে
  • watchOS 10 Smart Stack, Double Tap (S9+), NavigationStack এবং উইজেটের জন্য WidgetKit প্রবর্তন করেছে
  • Watch Connectivity — চারটি স্থানান্তর মোড সহ Bluetooth/Wi-Fi-এর মাধ্যমে iPhone-এর সাথে একমাত্র যোগাযোগ চ্যানেল
  • HealthKit Apple Watch সেন্সর অ্যাক্সেস প্রদান করে: হৃদস্পন্দন, SpO2, তাপমাত্রা, অ্যাক্সিলারোমিটার, GPS
  • কমপ্লিকেশন — CLKComplicationDataSource বা SwiftUI-এর মাধ্যমে বাস্তবায়িত ওয়াচ ফেস উইজেট
  • প্রকাশনার জন্য Apple Developer Program, 50 MB পর্যন্ত আকার (সেলুলার) এবং কঠোর কার্যক্ষমতা নিয়ন্ত্রণ প্রয়োজন

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন