tvOS: Focus Engine کے ساتھ Apple TV ڈویلپمنٹ

مصنف: IT Sectr اشاعت: 2026-02-07 مطالعے کا وقت: 11 منٹ

tvOS — Apple TV کے لیے Apple کا آپریٹنگ سسٹم، پہلی بار 2015 میں چوتھی نسل کے Apple TV کے ساتھ جاری کیا گیا۔ tvOS کے لیے ایپ ڈویلپمنٹ Swift میں SwiftUI اور TVMLKit استعمال کرتے ہوئے کی جاتی ہے۔ iOS سے بنیادی فرق ٹچ کے بجائے Siri Remote کے ذریعے فوکس کنٹرول ہے۔ Apple کے مطابق، tvOS دنیا بھر میں 100 ملین سے زیادہ فعال آلات پر نصب ہے۔

اہم نکات

  • tvOS — XNU کرنل پر ٹچ کے بجائے Focus Engine کے ساتھ TV سیٹ ٹاپ باکسز کے لیے Apple کا OS
  • Focus Engine — Siri Remote کے ذریعے عناصر کے درمیان فوکس مینجمنٹ سسٹم
  • SwiftUI اور TVMLKit — دو ڈویلپمنٹ طریقے: مقامی اور JavaScript ٹیمپلیٹس
  • Top Shelf — Apple TV ہوم اسکرین پر متحرک مواد
  • ایپ کا سائز سختی سے 4 GB تک محدود، تجویز کردہ 500 MB سے زیادہ نہیں

tvOS کیا ہے؟

tvOS — Apple TV سیٹ ٹاپ باکسز کے لیے Apple کا آپریٹنگ سسٹم، iOS کی طرح Darwin XNU کرنل پر مبنی۔ پہلی بار 30 اکتوبر 2015 کو چوتھی نسل کے Apple TV کے ساتھ جاری کیا گیا۔ tvOS نے پرانے Apple TV Software (iOS پر مبنی، بغیر App Store اور SDK کے) کی جگہ لے لی۔ سسٹم 4K HDR (Dolby Vision) تک ریزولوشن اور Dolby Atmos آواز کے ساتھ TV پر آپریشن کے لیے بہتر بنایا گیا ہے۔

Apple (WWDC 2025) کے مطابق، tvOS Apple TV HD (2015)، Apple TV 4K (2017, 2021, 2022) پر نصب ہے اور AirPlay کے ذریعے کچھ Smart TV ماڈلز میں شامل ہے۔ Apple TV A8 (HD)، A10X Fusion (پہلی نسل 4K)، A12 Bionic (دوسری نسل 4K) اور A15 Bionic (تیسری نسل 4K) چپس استعمال کرتا ہے۔ تمام ماڈل tvOS 17 کو سپورٹ کرتے ہیں۔ tvOS میں کیمرہ، مائیکروفون (ریموٹ کے علاوہ)، ٹچ اسکرین یا GPS نہیں ہے۔

tvOS کی اہم خصوصیت Focus Engine ہے، جو ٹچ کنٹرول کو فوکس نیویگیشن سے بدل دیتا ہے۔ صارف Siri Remote کا استعمال کرتے ہوئے UI عناصر کے درمیان انتخاب منتقل کرتا ہے۔ ڈویلپر Swift/SwiftUI (مقامی) یا JavaScript/TVML (Netflix, Hulu جیسی میڈیا ایپس) میں ایپس بناتے ہیں۔

tvOS ورژن کی تاریخ

tvOS 9 (2015) — SDK اور App Store کے ساتھ پہلا ورژن۔ tvOS 10 (2016) — کیبل سبسکرپشنز کے لیے سنگل سائن آن (SSO)۔ tvOS 11 (2017) — Amazon Prime Video سپورٹ اور خودکار موڈ۔ tvOS 12 (2018) — Dolby Atmos۔ tvOS 13 (2019) — ایک سے زیادہ صارفین کا موڈ۔ tvOS 17 (2023) — FaceTime, VPN, HDMI کے ذریعے آڈیو پروفائلز۔

tvOS ورژنسالاہم جدت
tvOS 92015App Store, SDK, Siri Remote
tvOS 102016سنگل سائن آن (SSO), Live Tune-In
tvOS 112017Amazon Prime, خودکار موڈ
tvOS 122018Dolby Atmos, iPhone کے ساتھ پاس ورڈ
tvOS 132019ایک سے زیادہ صارفین, TV پر کنٹرول سینٹر
tvOS 172023FaceTime, VPN, Siri Remote تلاش کریں

tvOS آرکیٹیکچر اور iOS سے فرق

tvOS آرکیٹیکچر iOS جیسے ہی اسٹیک پر مبنی ہے: XNU کرنل، Core Services سسٹم سروسز، Media لیئر اور Cocoa Touch یوزر لیئر۔ تاہم، TV پلیٹ فارم کی خصوصیات سے متعلق اہم فرق موجود ہیں۔

ہارڈویئر حدود

تیسری نسل کا Apple TV 4K 6 CPU کور (2 کارکردگی، 4 افادیت) اور 5 کور GPU کے ساتھ A15 Bionic استعمال کرتا ہے۔ RAM — 4 GB (64 GB سے اندرونی SSD اسٹوریج)۔ سسٹم میں کلاسیکی معنوں میں مستقل مقامی اسٹوریج نہیں ہے: جگہ کم ہونے پر tvOS تمام ایپ ڈیٹا حذف کر سکتا ہے (purgeable)۔ ڈویلپر کو حالت محفوظ رکھنے کے لیے iCloud Key-Value Storage یا CloudKit استعمال کرنا چاہیے۔

TVMLKit اور TVJS

TVMLKit — tvOS کے لیے منفرد فریم ورک جو JavaScript اور TVML (Apple کی مخصوص XML جیسی زبان) میں انٹرفیس بنانے کی اجازت دیتا ہے۔ TVMLKit سرور سے JSON/XML لوڈ کرتا ہے اور مقامی UI اجزاء پیش کرتا ہے۔ یہ سٹریمنگ سروسز کے لیے بنیادی ٹیکنالوجی ہے: Netflix, Hulu, Amazon Prime Video TVMLKit استعمال کرتے ہیں۔ TVJS — ایک الگ تناظر میں چلنے والا JavaScript ماحول۔

مستقل اسٹوریج کی کمی

tvOS خود بخود ڈسک کی جگہ کا انتظام کرتا ہے: جگہ کم ہونے پر، سسٹم کیشے، ڈاؤن لوڈ کردہ وسائل اور خود ایپ کو بھی حذف کر سکتا ہے (آئیکن رکھتے ہوئے)۔ دوبارہ کھولنے پر، ایپ کو اپنی حالت بحال کرنی ہوگی۔ iCloud NSUbiquitousKeyValueStore ترتیبات کے لیے واحد ضمانت شدہ مستقل اسٹوریج ہے (فی ایپ 1 MB تک)۔

swift
import Foundation

// // tvOS میں حالت کا تحفظ اور بحالی
final class StateManager {

    private let store = NSUbiquitousKeyValueStore.default
    private let coder = JSONEncoder()
    private let decoder = JSONDecoder()

    // دیکھنے کی پیشرفت محفوظ کی جا رہی ہے
    func saveProgress<T: Codable>(_ value: T, for key: String) {
        if let data = try? coder.encode(value) {
            store.set(data, for: key)
            store.synchronize()
        }
    }

    // کیشے حذف کرنے کے بعد حالت بحال کی جا رہی ہے
    func restoreProgress<T: Codable>(_ type: T.Type, for key: String) -> T? {
        guard let data = store.data(for: key) else { return nil }
        return try? decoder.decode(type, from: data)
    }

    // دوسرے آلے پر تبدیلی کی اطلاع ہینڈل کرنا
    init() {
        NotificationCenter.default.addObserver(
            self,
            selector: #selector(ubiquitousKeyValueStoreDidChange),
            name: NSUbiquitousKeyValueStore.didChangeExternallyNotification,
            object: store
        )
    }

    @objc
    private func ubiquitousKeyValueStoreDidChange(_ notification: Notification) {
        print("دوسرے آلے پر ڈیٹا تبدیل ہو گیا")
    }
}

StateManager tvOS پر ایپ کی حالت محفوظ کرنے کے لیے NSUbiquitousKeyValueStore استعمال کرتا ہے۔ چونکہ مقامی اسٹوریج سسٹم کے ذریعے صاف کیا جا سکتا ہے، صرف iCloud ڈیٹا کی مستقل مزاجی کی ضمانت دیتا ہے۔ store.synchronize() فوری طور پر سرور کو ڈیٹا بھیجتا ہے، جبکہ didChangeExternallyNotification صارف کے دوسرے آلات سے تبدیلیوں کے بارے میں ایپ کو مطلع کرتا ہے۔

Focus Engine: نیویگیشن اور فوکس

Focus Engine — tvOS کا کلیدی طریقہ کار جو ٹچ ایونٹس کو فوکس نیویگیشن سے بدل دیتا ہے۔ صارف Siri Remote (ٹچ سطح یا بٹن) استعمال کرتے ہوئے UI عناصر کے درمیان انتخاب منتقل کرتا ہے۔ سسٹم فاصلے اور حرکت کی سمت کی بنیاد پر خود بخود اگلے فوکس عنصر کا حساب لگاتا ہے۔

UIFocusEnvironment اور فوکس درجہ بندی

فوکس حاصل کرنے کے قابل ہر UI عنصر UIFocusEnvironment پروٹوکول کو لاگو کرتا ہے۔ UIKit عنصر جیومیٹری کی بنیاد پر خود بخود نیویگیشن ترتیب کا تعین کرتا ہے۔ ڈویلپر preferredFocusEnvironments کے ذریعے ترجیحی فوکس کو اوور رائڈ کر سکتا ہے، چائلڈ focusEnvironment کی ایک صف بتا سکتا ہے، اور UIFocusHeading (up, down, left, right) کے ذریعے حرکت کو کنٹرول کر سکتا ہے۔ UIFocusGuide غیر معمولی لے آؤٹ کے لیے کسٹم راستے متعین کرنے کی اجازت دیتا ہے۔

UIFocusEffect اور پیرالیکس

tvOS خود بخود فوکس شدہ عنصر میں UIFocusEffect شامل کرتا ہے: سایہ، ہائی لائٹ اور پیرالیکس اثر (ریموٹ جھکانے پر آفسیٹ)۔ ڈویلپر focusedValue کے ذریعے اثر کو غیر فعال کر سکتا ہے یا UIFocusEffect.transform کے ذریعے اپنی مرضی کے مطابق بنا سکتا ہے۔ SwiftUI میں، پیرالیکس .hoverEffect(.highlight) موڈیفائر کے ساتھ شامل کیا جاتا ہے۔

swift
import SwiftUI

// // کسٹم فوکس کے ساتھ tvOS جزو
struct MovieCardView: View {
    let movie: Movie
    @State private var isFocused = false
    @Environment(\.isFocused) var envFocused

    var body: some View {
        VStack(spacing: 8) {
            AsyncImage(url: movie.posterURL) { phase in
                if let image = phase.image {
                    image
                        .resizable()
                        .aspectRatio(contentMode: .fill)
                        .frame(width: 320, height: 180)
                        .cornerRadius(8)
                        .overlay(
                            RoundedRectangle(cornerRadius: 8)
                                .stroke(isFocused ? Color.blue : Color.clear, lineWidth: 3)
                        )
                        .scaleEffect(isFocused ? 1.08 : 1.0)
                }
            }

            Text(movie.title)
                .font(.caption)
                .lineLimit(2)
                .foregroundStyle(isFocused ? .white : .gray)
        }
        .onHover { hovering in
            withAnimation(.spring(response: 0.35)) {
                isFocused = hovering
            }
        }
        .onPlayPauseCommand {
            // ریموٹ پر Play/Pause بٹن ہینڈل کرنا
            startPlayback()
        }
        .focusable()
        .focusEffect { phase in
            // کسٹم فوکس اثر
            phase == .active ?
                AnyView(self.scaleEffect(1.08)) :
                AnyView(self.scaleEffect(1.0))
        }
    }

    private func startPlayback() {
        print("چل رہا ہے: \(movie.title)")
    }
}

// // فلم گرڈ کے ساتھ مرکزی اسکرین
struct MovieGridScreen: View {
    let movies: [Movie]

    var body: some View {
        ScrollView {
            LazyVGrid(columns: [GridItem(.adaptive(minimum: 320, maximum: 400))], spacing: 24) {
                ForEach(movies) { movie in
                    MovieCardView(movie: movie)
                }
            }
            .padding(60)
        }
        .focusSection() // نیویگیشن کے لیے گروپنگ
    }
}

MovieCardView SwiftUI میں Focus Engine کو ظاہر کرتا ہے: .focusable() موڈیفائر عنصر کو فوکس ایبل بناتا ہے، .onHover حالت کی تبدیلیوں کو ٹریک کرتا ہے، .focusEffect کسٹم فوکس اینیمیشن کی اجازت دیتا ہے۔ .onPlayPauseCommand Siri Remote پر Play/Pause بٹن دبانے کو ہینڈل کرتا ہے۔ focusSection چکری نیویگیشن کے لیے گرڈ کو گروپ کرتا ہے۔

Siri Remote: جیسچر اور بٹن

دوسری نسل کا Siri Remote (2021) ٹچ سطح، 5 بٹن اور ایک مائیکروفون رکھتا ہے۔ tvOS جیسچر کو سپورٹ کرتا ہے: سوائپ (نیویگیشن)، ٹیپ (انتخاب)، ڈبل ٹیپ (مرکز)، پنچ زوم (تصاویر)، لمبا دباؤ (سیاق و سباق مینو)۔ UIPress اقسام .select, .playPause, .menu, .upArrow, .downArrow, .leftArrow, .rightArrow — پہلے سے طے شدہ دباؤ کی اقسام۔ ریموٹ کا مائیکروفون Siri اور آواز کی تلاش کے لیے استعمال ہوتا ہے۔

Top Shelf اور ایپ اسکرین

Top Shelf Apple TV ہوم اسکرین پر ایک علاقہ ہے جو اوپری قطار میں ہونے پر ایپ کا متحرک مواد دکھاتا ہے۔ tvOS 17 میں، Top Shelf کسٹم بیک گراؤنڈ اور انٹرایکٹو عناصر کے ساتھ 8 وجیٹس تک سپورٹ کرتا ہے۔ ڈویلپر مواد فراہم کرنے کے لیے TVTopShelfProvider کو لاگو کرتا ہے۔

Top Shelf کے انداز

تین Top Shelf انداز دستیاب ہیں: Sectioned — درجہ بند فہرست (صنف کے مطابق سیریز)، Inset — تفصیلی وضاحت کے ساتھ مرکزی عنصر (تجویز کردہ فلم)، Photo — تصویری گرڈ (فوٹو البمز)۔ سسٹم watchOS کی طرح BGTaskScheduler کے ذریعے پس منظر میں Top Shelf کو اپ ڈیٹ کرتا ہے۔ فراہم کنندہ کو فوری طور پر مواد واپس کرنا چاہیے — tvOS ڈیٹا کو 24 گھنٹے کے لیے کیش کرتا ہے۔

ایپ اسکرین

tvOS ہوم اسکرین ایک Top Shelf قطار اور ایپ گرڈ پر مشتمل ہے۔ صارف آئیکنز کو دوبارہ ترتیب دے سکتے ہیں اور فولڈر بنا سکتے ہیں۔ وسائل کم ہونے پر tvOS خود بخود میموری سے ایپس کو ان لوڈ کرتا ہے، لہذا ڈویلپر کو UISceneDidDisconnectNotification کو صحیح طریقے سے ہینڈل کرنا چاہیے اور دوبارہ شروع کرنے پر حالت بحال کرنی چاہیے۔

Top Shelf اندازفارمیٹکب استعمال کریں
Sectionedسرخیوں اور اشیاء کے ساتھ حصےسیریز، پوڈکاسٹ، پلے لسٹ
Insetوضاحت کے ساتھ ایک بڑی شےدن کی فلم، خصوصی
Photoکیپشن کے بغیر تصویری گرڈفوٹو البمز، گیلریاں
Tabتبدیل کے ساتھ ٹیبزقسم کے مطابق کھیل، موضوع کے مطابق خبریں

Apple TV کے لیے SwiftUI

SwiftUI tvOS 13 سے tvOS میں مکمل طور پر سپورٹ کیا جاتا ہے۔ Apple تمام نئے پروجیکٹس کے لیے SwiftUI کی سفارش کرتا ہے۔ وہی SwiftUI کوڈ Focus Engine کے لیے کم سے کم موافقت کے ساتھ iOS, iPadOS, macOS اور tvOS پر کام کرتا ہے۔ tvOS کے لیے SwiftUI موڈیفائر .focusable(), .focusSection(), .onPlayPauseCommand اور .onExitCommand فراہم کرتا ہے۔

tvOS موافقت

iOS ایپ کو tvOS پر پورٹ کرتے وقت: TabView کو فوکس نیویگیشن کے ساتھ NavigationView سے بدلیں، فونٹ سائز بڑھائیں (سرخیوں کے لیے کم از کم 30pt، باڈی ٹیکسٹ کے لیے 22pt)، مارجن شامل کریں (کناروں سے کم از کم 40pt — TV پر محفوظ علاقہ)۔ tvOS ٹیکسٹ فیلڈ والے UIAlertController، UIWebView اور MFMailComposeViewController کو سپورٹ نہیں کرتا۔

iOS جزوtvOS مساوینوٹ
UISliderUIProgressView + بٹنSlider سپورٹ نہیں
UIPickerViewفوکس کے ساتھ جدولPicker کو فہرست سے بدل دیا گیا
UITextFieldUIAlertController (صرف پڑھنے کے لیے)Siri کے ذریعے ٹیکسٹ ان پٹ
UIActionSheetUIAlertControllerسپورٹ شدہ
UIWebViewسپورٹ نہیںWKWebView استعمال کریں
MFMailComposeسپورٹ نہیںmailto: URL کھولیں

ڈیزائن کی سفارشات

tvOS کے لیے Apple HIG: ٹچ ایریا کا کم از کم سائز 60×60 پوائنٹ، ٹیکسٹ 3 میٹر سے پڑھنے کے قابل (باڈی کے لیے فونٹ سائز 22pt سے کم نہیں)، ٹیکسٹ کنٹراسٹ 4.5:1، گہرا پس منظر (ہلکا پس منظر OLED TV پر چمک پیدا کرتا ہے)، تمام عناصر پیچیدہ جیسچر کے بغیر قابل رسائی۔ ریزولوشن: Apple TV 4K 60 FPS پر 3840×2160 (4K) یا 1920×1080 (HD) آؤٹ پٹ کرتا ہے۔ تمام تصاویر @2x (1080p کے لیے) اور @4x (4K کے لیے) ہونی چاہئیں۔

TVMLKit اور میڈیا ایپلیکیشنز

TVMLKit — ویب ٹیکنالوجیز استعمال کرتے ہوئے tvOS پر میڈیا ایپس بنانے کے لیے ایک فریم ورک: JavaScript (TVJS) اور TVML (Apple کی مخصوص XML)۔ TVMLKit ایپس کو کمپائیلیشن کی ضرورت نہیں — انٹرفیس سرور سے لوڈ ہوتا ہے، جس سے App Review کے بغیر مواد کو اپ ڈیٹ کیا جا سکتا ہے۔ یہ بڑی سٹریمنگ سروسز مواد کی carousel کے لیے استعمال کرتی ہیں۔

TVML: ٹیمپلیٹ ڈھانچہ

TVML تیار ٹیمپلیٹس فراہم کرتا ہے: CatalogTemplate (حصوں کے ساتھ کیٹلاگ)، ProductTemplate (مواد کی تفصیل کا صفحہ)، FormTemplate (لاگ ان فارم)، LoadingTemplate (لوڈنگ اشارہ)۔ ٹیمپلیٹس XML میں بیان کیے جاتے ہیں اور CSS جیسی خصوصیات کے ذریعے اسٹائل کیے جاتے ہیں۔ TVJS کوڈ دبانے کو ہینڈل کرتا ہے اور مقامی API کو کال کرتا ہے۔

xml
<!-- CatalogTemplate — TVML پر فلموں کی کیٹلاگ -->
<document>
  <catalogTemplate>
    <banner>
      <title>نئی فلمیں</title>
      <description>تازہ پریئمئیرز اور ایکسکلیوزِو</description>
    </banner>
    <section>
      <header>
        <title>مقبول</title>
      </header>
      <items>
        <lockup>
          <img src="https://cdn.example.com/movie1.jpg" width=300 height=450/>
          <title>انٹرسٹیلر</title>
        </lockup>
        <lockup>
          <img src="https://cdn.example.com/movie2.jpg" width=300 height=450/>
          <title>شروع</title>
        </lockup>
      </items>
    </section>
  </catalogTemplate>
</document>

TVML CatalogTemplate میں عنوان کے ساتھ بینر اور lockup عناصر کے ساتھ حصے ہوتے ہیں۔ ہر lockup تصویر اور عنوان کے ساتھ ایک فلم کارڈ ہے۔ Focus Engine خود بخود lockup عناصر کے درمیان نیویگیشن کا انتظام کرتا ہے۔ دبانے پر، TVJS ہینڈلر select ایونٹ وصول کرتا ہے اور ProductTemplate کے ذریعے تفصیل کا صفحہ دکھا سکتا ہے۔

TVJS: ایونٹ ہینڈلنگ

TVJS ایک JavaScript ماحول ہے جو مرکزی ایپ سے الگ ہے۔ TVJS کوڈ TVML ٹیمپلیٹ لوڈ کرنے اور ایونٹس ہینڈل کرنے پر کال کیا جاتا ہے۔ TVJS کو ویڈیو پلے بیک کنٹرول کے لیے Appliance اور Player کے ذریعے مقامی API تک رسائی حاصل ہے۔ Apple صرف بار بار مواد کی اپ ڈیٹ والی میڈیا ایپس کے لیے TVMLKit استعمال کرنے کی سفارش کرتا ہے۔ گیمز اور انٹرایکٹو ایپس کے لیے SwiftUI ترجیح دی جاتی ہے۔

tvOS ایپس شائع کرنا

tvOS ایپ شائع کرنا کے لیے Apple Developer Program سبسکرپشن ($99/سال) درکار ہے۔ ایپ App Store Connect پر علیحدہ پروڈکٹ یا یونیورسل بائنری (iOS + tvOS) کے حصے کے طور پر اپ لوڈ کی جاتی ہے۔ App Review استحکام، HIG تعمیل اور 4 GB سائز کی حد کو چیک کرتا ہے۔

بلڈ اور تقسیم

Xcode .app ایکسٹینشن (.ipa پیکیج) کے ساتھ tvOS ٹارگٹ بناتا ہے۔ آرکیٹیکچر — arm64 (Apple TV Apple Silicon ARM چپس استعمال کرتا ہے)۔ tvOS i386 یا x86_64 والے فریم ورک کو سپورٹ نہیں کرتا۔ ایپ Apple Development سرٹیفکیٹ (ٹیسٹ) یا Apple Distribution سرٹیفکیٹ (اشاعت) سے دستخط کی جاتی ہے۔ کاروباری گاہکوں کے لیے Volume Purchase Program کے ذریعے تقسیم ممکن ہے۔

App Review کے تقاضے

tvOS کے خصوصی تقاضے: تمام انٹرفیس عناصر ٹچ اسکرین یا کی بورڈ کے استعمال کے بغیر Focus Engine کے ذریعے قابل رسائی ہونے چاہئیں۔ اجازت درکار ایپس کو iTunes Store کے ذریعے سنگل سائن آن (SSO) کو سپورٹ کرنا چاہیے۔ اشتہاری مواد صارف کی رضامندی کے بغیر پلے بیک میں خلل نہیں ڈال سکتا۔ اپ لوڈ کردہ بائنری کا سائز 4 GB سے زیادہ نہیں ہونا چاہیے۔

تقاضہتفصیل
ایپ کا سائز4 GB سے زیادہ نہیں، 500 MB تجویز کردہ
گرافکس ریزولوشن@2x (1920×1080) اور @4x (3840×2160) 4K کے لیے
فوکس نیویگیشنتمام عناصر Siri Remote کے ذریعے قابل رسائی
ویڈیو فارمیٹH.264, HEVC, Dolby Vision (Profile 5)
آڈیوDolby Atmos (E-AC-3 JOC) اور سٹیریو AAC

اکثر پوچھے گئے سوالات

tvOS ڈویلپمنٹ کے لیے کون سی زبانیں استعمال ہوتی ہیں؟

بنیادی زبان Swift ہے جس میں SwiftUI اور UIKit فریم ورک استعمال ہوتے ہیں۔ میڈیا ایپس کے لیے، سرور سے لوڈ کردہ JavaScript اور TVML ٹیمپلیٹس کے ساتھ TVMLKit استعمال کیا جاتا ہے۔ Objective-C پرانے پروجیکٹس کے لیے سپورٹ کیا جاتا ہے۔ Apple تمام نئے tvOS پروجیکٹس کے لیے SwiftUI کی سفارش کرتا ہے۔

tvOS iOS سے کیسے مختلف ہے؟

tvOS ٹچ ایونٹس کے بجائے Focus Engine استعمال کرتا ہے، اس میں کیمرہ اور مائیکروفون نہیں ہے (Siri Remote کے علاوہ)، ایپ کا سائز 4 GB تک محدود کرتا ہے، مستقل مقامی اسٹوریج (purgeable) کو سپورٹ نہیں کرتا اور رینڈرنگ کے لیے Metal کی ضرورت ہوتی ہے۔ تمام ایپس صرف ARM64 پر چلتی ہیں۔

tvOS میں Focus Engine کیسے کام کرتا ہے؟

Focus Engine Siri Remote کا استعمال کرتے ہوئے UI عناصر کے درمیان فوکس کی حرکت کا انتظام کرتا ہے۔ ڈویلپر preferredFocusEnvironments کے ذریعے ترجیحی فوکس سیٹ کرتا ہے۔ UIFocusHeading (up, down, left, right) سمت کا تعین کرتا ہے۔ UIFocusEffect خود بخود فعال عنصر میں پیرالیکس اور سایہ شامل کرتا ہے۔

Apple TV کے لیے ایپس کیسے شائع کریں؟

اشاعت کے لیے Apple Developer Program سبسکرپشن ($99/سال) درکار ہے۔ ایپ Xcode Organizer یا Transporter کے ذریعے App Store Connect پر اپ لوڈ کی جاتی ہے۔ اعتدال جانچتا ہے: Focus Engine مطابقت، استحکام، UIWebView کی عدم موجودگی اور 4 GB سائز کی حد۔

کیا tvOS میں UIKit استعمال کیا جا سکتا ہے؟

ہاں، UIKit tvOS میں مکمل طور پر سپورٹ کیا جاتا ہے: UIView, UIViewController, UICollectionView, UITableView۔ تاہم، UIKit کو Focus Engine کے لیے ڈھال لیا گیا ہے: UIButton اور UIControl ٹچ کے بجائے ریموٹ دبانے سے ایونٹ وصول کرتے ہیں۔ خودکار فوکس موافقت کی وجہ سے نئے پروجیکٹس کے لیے SwiftUI کی سفارش کی جاتی ہے۔

خلاصہ

  • tvOS — XNU کرنل پر Focus Engine کنٹرول کے ساتھ TV سیٹ ٹاپ باکسز کے لیے Apple کا OS
  • Focus Engine پیرالیکس اثرات کے ساتھ Siri Remote کے ذریعے ٹچ کنٹرول کو فوکس حرکت سے بدل دیتا ہے
  • TVMLKit — سرور سائیڈ TVML ٹیمپلیٹس کے ساتھ JavaScript میں میڈیا ایپس کے لیے ایک منفرد فریم ورک
  • Top Shelf TVTopShelfProvider کے ذریعے ہوم اسکرین پر متحرک مواد فراہم کرتا ہے
  • SwiftUI tvOS 13 سے focusable, focusSection اور onPlayPauseCommand موڈیفائر کے ساتھ مکمل سپورٹ شدہ
  • tvOS حدود: 4 GB سائز, purgeable اسٹوریج, کوئی کیمرہ, UIWebView یا MFMailCompose نہیں
  • اشاعت کے لیے Apple Developer Program, @2x/@4x گرافکس, HEVC فارمیٹ اور Dolby Atmos درکار ہے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں