iOS Apple کا موبائل آپریٹنگ سسٹم ہے جو iPhone اور iPod touch کو چلاتا ہے۔ iOS ڈویلپمنٹ Xcode ماحول میں Swift زبان میں کی جاتی ہے۔ آئیے پلیٹ فارم کے فن تعمیر، اہم فریم ورک اور App Store اشاعت کے عمل کو سمجھتے ہیں۔
اہم نکات
iOS Apple کا موبائل آپریٹنگ سسٹم ہے، جو پہلی بار 2007 میں پہلے iPhone کے ساتھ جاری کیا گیا۔ نظام XNU مائیکرو کرنل پر بنایا گیا ہے، جو Mach اور FreeBSD کے اجزاء کو یکجا کرنے والا ایک ہائبرڈ کرنل ہے۔ Android کے برعکس، iOS ایک بند پلیٹ فارم ہے: ایپ کی تنصیب صرف App Store کے ذریعے ممکن ہے، اور نظام کا سورس کوڈ دستیاب نہیں ہے۔
Apple ہارڈویئر اور سافٹ ویئر دونوں کو کنٹرول کرتا ہے، جو اعلیٰ سطح کی اصلاح کو یقینی بناتا ہے۔ StatCounter (2026) کے مطابق، عالمی موبائل OS مارکیٹ میں iOS کا حصہ تقریباً 28% ہے اور امریکہ اور جاپان میں 50% سے تجاوز کر گیا ہے۔
نظام App Sandbox ماڈل استعمال کرتا ہے — ہر ایپ ایک الگ تھلگ ماحول میں چلتی ہے اور سسٹم ڈائیلاگ کے ذریعے واضح صارف کی اجازت کے بغیر دوسری ایپ کے ڈیٹا تک رسائی حاصل نہیں کر سکتی۔
پہلا ورژن iPhone OS 1.0 تیسرے فریق کی ایپ کو سپورٹ نہیں کرتا تھا۔ App Store 2008 میں iOS 2.0 کے ساتھ آیا۔ اہم سنگ میل: iOS 4 (ملٹی ٹاسکنگ)، iOS 7 (فلیٹ ڈیزائن)، iOS 10 (iMessage ایپ)، iOS 14 (ڈیسک ٹاپ ویجٹ)، iOS 17 (StandBy موڈ)۔ ہر بڑی ریلیز نئے API اور فریم ورک لاتی ہے۔
| iOS ورژن | سال | اہم جدت |
|---|---|---|
| iPhone OS 1 | 2007 | پہلا ورژن، App Store کے بغیر |
| iOS 2 | 2008 | App Store، تیسرے فریق کی ایپ |
| iOS 4 | 2010 | ملٹی ٹاسکنگ، FaceTime |
| iOS 7 | 2013 | انٹرفیس کا مکمل دوبارہ ڈیزائن |
| iOS 10 | 2016 | iMessage ایپ، SiriKit |
| iOS 14 | 2020 | ویجٹ، App Library، Picture in Picture |
| iOS 17 | 2023 | StandBy، NameDrop، Live Voicemail |
iOS کا فن تعمیر چار تجریدی تہوں پر مشتمل ہے، ہر ایک اوپر والی تہہ کو API فراہم کرتی ہے۔ نچلی تہیں کرنل اور سسٹم سروسز ہیں، اوپری تہیں صارف کے فریم ورک ہیں۔
Cocoa Touch صارف انٹرفیس بنانے کے لیے فریم ورک کی تہہ ہے۔ اس میں UIKit، SwiftUI، Foundation، MapKit، NotificationCenter اور دیگر API شامل ہیں جن کے ساتھ ڈویلپر براہ راست کام کرتا ہے۔ UIKit UIViewController، UIView، UIWindow اور تمام بصری اجزاء فراہم کرتا ہے۔
Media تہہ میں Core Graphics، Core Animation، Core Image، AVFoundation اور Metal شامل ہیں۔ Metal GPU کے لیے ایک نچلی سطح کا API ہے جو گیمز اور بڑھی ہوئی حقیقت والی ایپ میں اعلیٰ گرافکس کارکردگی فراہم کرتا ہے۔ Core Animation ہارڈویئر ایکسلریشن کے ساتھ تہہ کی سطح پر اینیمیشن کا انتظام کرتا ہے۔
Core Services میں Core Data، CloudKit، Core Location، HealthKit، Core Motion اور Network شامل ہیں۔ CFNetwork نیٹ ورک پروٹوکول کے ساتھ کام کرنے کے لیے ایک نچلی سطح کا C انٹرفیس ہے۔ Foundation Core Foundation کے اوپر NSString، NSArray، NSDictionary کلاسز کے ساتھ ایک آبجیکٹ پر مبنی ریپر ہے۔
سب سے نچلی تہہ میں XNU کرنل، APFS فائل سسٹم، خفیہ نگاری کے ماڈیول (CommonCrypto، Security.framework)، بجلی کا انتظام اور ڈیوائس ڈرائیور شامل ہیں۔ اس سطح پر Secure Enclave کام کرتا ہے — بایومیٹرک ڈیٹا اور خفیہ کاری کی کنجیاں ذخیرہ کرنے کے لیے ایک کواک پروسیسر۔
// Security فریم ورک کے ذریعے Secure Enclave سالمیت کی جانچ
#import <LocalAuthentication/LocalAuthentication.h>
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
error:&error]) {
NSLog(@"Secure Enclave بایومیٹرکس کے لیے دستیاب");
} else {
NSLog(@"Secure Enclave دستیاب نہیں: %@", error.localizedDescription);
}Swift ایک پروگرامنگ زبان ہے جسے Apple نے 2014 میں Objective-C کے متبادل کے طور پر پیش کیا۔ اسے Apple میں Chris Lattner نے تیار کیا۔ Swift جدید زبانوں (Rust، Kotlin، C#) کے نحو کو C سطح کی کارکردگی کے ساتھ جوڑتا ہے۔ TIOBE (2026) کے مطابق، Swift سرفہرست 15 پروگرامنگ زبانوں میں شامل ہے۔
Swift کوڑے دان جمع کرنے والے کے بغیر میموری کے انتظام کے لیے Automatic Reference Counting (ARC) استعمال کرتا ہے۔ پروٹوکول پر مبنی پروگرامنگ (POP) پروٹوکول کی توسیع کے ذریعے اقسام کو بڑھانے کی اجازت دیتی ہے۔ Optionals nil کے ساتھ ٹائپ محفوظ ہینڈلنگ فراہم کرتے ہیں، اور پیٹرن میچنگ برانچنگ منطق کو آسان بناتا ہے۔
import UIKit
/// ڈیٹا لوڈنگ سروس کے لیے پروٹوکول
protocol DataServiceProtocol {
associatedtype T
func fetch(completion: @escaping (Result<[T], Error>) -> Void)
}
/// صارفین کو لوڈ کرنے کے لیے سروس کا نفاذ
final class UserService: DataServiceProtocol {
typealias T = User
private let session: URLSession
private let decoder: JSONDecoder
init(session: URLSession = .shared, decoder: JSONDecoder = JSONDecoder()) {
self.session = session
self.decoder = decoder
}
func fetch(completion: @escaping (Result<[User], Error>) -> Void) {
guard let url = URL(string: "https://api.example.com/users") else {
completion(.failure(URLError(.badURL)))
return
}
session.dataTask(with: url) { [weak self] data, response, error in
guard let self, let data = data else {
completion(.failure(error ?? URLError(.badServerResponse)))
return
}
do {
let users = try self.decoder.decode([User].self, from: data)
completion(.success(users))
} catch {
completion(.failure(error))
}
}.resume()
}
}
struct User: Codable, Identifiable {
let id: Int
let name: String
let email: String
}مثال Swift Concurrency (async/await)، associatedtype والے پروٹوکول اور JSON ڈی کوڈنگ کے لیے Codable کا استعمال کرتے ہوئے ڈیٹا لوڈنگ سروس کا نفاذ دکھاتی ہے۔ ARC خود بخود میموری کا انتظام کرتا ہے، اور weak self بندشوں میں مضبوط حوالہ جات کے چکروں کو روکتا ہے۔
iOS 13 کے بعد سے، Swift async/await اور Actors کے ذریعے بلٹ ان غیر متوازی پن کو سپورٹ کرتا ہے — تھریڈ محفوظ قسمیں جو ڈیٹا ریس سے حالت کی حفاظت کرتی ہیں۔ ملٹی تھریڈنگ کے لیے DispatchQueue آہستہ آہستہ async/await اور Task کے ڈھانچے سے تبدیل کیا جا رہا ہے۔
actor UserRepository {
private var cache: [Int: User] = [:]
private let service = UserService()
func getUser(id: Int) async throws -> User {
if let cached = cache[id] {
return cached
}
let users = try await service.fetchAsync()
guard let user = users.first(where: { $0.id == id }) else {
throw UserError.notFound
}
cache[id] = user
return user
}
}UserRepository ایکٹر اس بات کی ضمانت دیتا ہے کہ کیش تک رسائی ایک ہی تھریڈ میں ہوتی ہے، ریس کنڈیشنز کو ختم کرتے ہوئے۔ مرتب کنندہ بلڈ ٹائم پر علیحدگی کو چیک کرتا ہے — ایکٹر کی قابل تبدیل خاصیت تک رسائی صرف await کے ذریعے ممکن ہے۔
Xcode Apple کا مربوط ترقیاتی ماحول (IDE) ہے، جو صرف macOS پر دستیاب ہے۔ اس میں کوڈ ایڈیٹر، بصری ترتیب کے لیے Interface Builder، ڈیوائس سمیلیٹر، پروفائلنگ کے لیے Instruments اور LLDB ڈیبگر شامل ہے۔ Xcode 15 میکروز کے ساتھ Swift 5.9 کو سپورٹ کرتا ہے۔
Interface Builder خودکار XML تفصیل (XIB/Storyboard) تخلیق کے ساتھ ڈریگ اینڈ ڈراپ کے ذریعے انٹرفیس بنانے کی اجازت دیتا ہے۔ Storyboards اسکرین کے بہاؤ کو بیان کرتے ہیں۔ 2023 سے، Apple SwiftUI Preview کو بنیادی بصری ترقیاتی ٹول کے طور پر تجویز کرتا ہے، اگرچہ Interface Builder UIKit پروجیکٹس میں استعمال ہوتا رہتا ہے۔
Xcode Instruments میں درجنوں ٹیمپلیٹس شامل ہیں: Time Profiler (CPU تجزیہ)، Allocations (میموری)، Leaks (رساو)، Core Animation (FPS)، Network اور Energy Log۔ Metal Debugger GPU کالز اور شیڈرز کا معائنہ کرنے کی اجازت دیتا ہے۔ LLDB Swift ایکسپریشن سپورٹ اور مشروط بریک پوائنٹس کے ساتھ ایک کنسول ڈیبگر ہے۔
iOS SDK میں سینکڑوں فریم ورک شامل ہیں۔ ذیل میں بنیادی فریم ورک ہیں جن کے ساتھ ہر iOS ڈویلپر روزانہ کام کرتا ہے۔
| فریم ورک | مقصد |
|---|---|
| UIKit | انٹرفیس: UIView، UIViewController، اینیمیشن، جیسچر |
| SwiftUI | رد عمل کی تازہ کاریوں کے ساتھ اعلانی انٹرفیس |
| Foundation | بنیادی اقسام: String، Data، URLSession، JSONEncoder |
| Core Data | SQLite میں مقامی ڈیٹا اسٹوریج کے لیے ORM |
| CloudKit | iCloud مطابقت پذیری اور بیک اینڈ کے بغیر سرور سائیڈ منطق |
| Core Location | جیو لوکیشن: GPS، جیو فینسنگ، iBeacon |
| MapKit | Apple نقشہ ڈسپلے، تشریحات، راستے |
| AVFoundation | آڈیو/ویڈیو کیپچر اور پلے بیک |
| Metal | نچلی سطح کی گرافکس اور GPGPU کمپیوٹنگ |
| Core ML | آلہ پر تخمینہ کے ساتھ مشین لرننگ |
| PushKit / UserNotifications | Push اطلاعیں، VoIP، مواد کی تازہ کاری |
Core Data آبجیکٹ ڈیٹا ماڈل کے انتظام کے لیے ایک فریم ورک ہے۔ یہ UI تھریڈ اور پس منظر کے سیاق و سباق کے درمیان آبجیکٹ کو محفوظ کرنے، لوڈ کرنے اور مطابقت پذیر کرنے کی اجازت دیتا ہے۔ iOS 17 نے SwiftData متعارف کرایا — Swift Macros سپورٹ کے ساتھ Core Data پر ایک جدید ریپر۔
UIKit اور SwiftUI کے درمیان انتخاب iOS ڈویلپمنٹ شروع کرتے وقت ایک اہم تعمیراتی فیصلہ ہے۔ UIKit 2007 سے موجود ہے اور iOS کے تمام ورژن کو سپورٹ کرتا ہے۔ SwiftUI 2019 میں متعارف کرایا گیا تھا اور اس کے لیے iOS 13+ درکار ہے۔
| معیار | UIKit | SwiftUI |
|---|---|---|
| نمونہ | امری (MVC، MVVM) | اعلانی (حالت پر مبنی) |
| کم از کم iOS | iOS 2.0+ | iOS 13.0+ |
| ترتیب | کوڈ یا Interface Builder میں Auto Layout | ماڈیفائر چین، HStack/VStack/ZStack |
| تخصیص | مکمل (CALayer، drawRect) | ماڈیفائر تک محدود |
| کارکردگی | اعلیٰ (دستی اصلاح) | خودکار باطل کاری |
| پیش نظارہ | تعاون یافتہ نہیں | حقیقی وقت Xcode Preview |
| جانچ | XCTest + Snapshot ٹیسٹ | XCTest + Preview ٹیسٹ |
عملی طور پر، زیادہ تر تجارتی منصوبے ہائبرڈ طریقہ استعمال کرتے ہیں: نئی اسکرینوں اور سادہ فارمز کے لیے SwiftUI، پیچیدہ ترتیب والے اجزاء کے لیے UIKit جنہیں باریک رینڈرنگ کنٹرول کی ضرورت ہوتی ہے۔ Apple SwiftUI میں فعال طور پر سرمایہ کاری کر رہا ہے، اور توقع ہے کہ 2028 تک یہ بنیادی فریم ورک بن جائے گا۔
ہر iOS ایپ UIApplication اور AppDelegate کے زیر انتظام پانچ حالتوں سے گزرتی ہے۔ SwiftUI میں، @main وصف کے ساتھ App Protocol یہ کردار ادا کرتا ہے۔
Not running — ایپ لانچ نہیں ہوئی یا سسٹم کے ذریعے ختم کر دی گئی۔ Inactive — ایپ پیش منظر میں ہے لیکن واقعات وصول نہیں کر رہی (مثلاً آنے والی کال کے دوران)۔ Active — عام حالت، ایپ ٹچ واقعات وصول کرتی ہے۔ Background — ایپ کو چھوٹا کر دیا گیا، پس منظر کے کام انجام دے رہی ہے۔ Suspended — ایپ میموری میں ہے لیکن کوڈ پر عمل نہیں کر رہی۔
import SwiftUI
@main
struct MyApp: App {
@Environment(\.scenePhase) private var scenePhase
var body: some Scene {
WindowGroup {
ContentView()
}
.onChange(of: scenePhase) { oldPhase, newPhase in
switch newPhase {
case .active:
print("ایپ فعال ہو گئی")
case .inactive:
print("ایپ غیر فعال ہے")
case .background:
print("ایپ پس منظر میں چلی گئی")
@unknown default:
break
}
}
}
}میموری کم ہونے پر سسٹم ایپ کو پس منظر میں ختم کر سکتا ہے۔ ڈویلپر کو onDisappear یا ScenePhase.background کے ذریعے حالت محفوظ کرنی چاہیے تاکہ صارف ایپ کے درمیان سوئچ کرتے وقت ڈیٹا نہ کھوئے۔
App Store iOS کے لیے واحد سرکاری ایپ اسٹور ہے۔ اشاعت کے لیے Apple Developer Program سبسکرپشن ($99/سال) درکار ہے۔ ہر ایپ جانچ پڑتال سے گزرتی ہے — خودکار (بائنری کوڈ کا جامد تجزیہ) اور دستی (انٹرفیس اور مواد کا جائزہ)۔
ڈویلپر Xcode میں ایک آرکائیو بناتا ہے اور Transporter یا Xcode Organizer کے ذریعے App Store Connect پر اپ لوڈ کرتا ہے۔ اوسط جانچ کا وقت 24–48 گھنٹے ہے۔ App Review رہنما خطوط کی تعمیل کی جانچ کرتا ہے: ڈیٹا سیکیورٹی، کارکردگی، HIG ڈیزائن، پوشیدہ فعالیت کی عدم موجودگی۔
پرائیویسی پر خاص توجہ دی جاتی ہے: ڈیٹا اکٹھا کرنے کی تمام اقسام کا Privacy Manifest میں اعلان کیا جانا چاہیے۔ 2025 سے، Apple کو API استعمال کی وجوہات (NSPrivacyAccessedAPITypes) بتانے کی ضرورت ہے۔ صارف کی رضامندی کے بغیر ٹریکر استعمال کرنے والی ایپ کو اشاعت سے انکار کر دیا جاتا ہے۔
| تقاضہ | تفصیل |
|---|---|
| Privacy Manifest | تمام اکٹھا کردہ ڈیٹا اور اکٹھا کرنے کے مقاصد کا اعلان |
| HIG تعمیل | Apple Human Interface Guidelines کی تعمیل |
| استحکام | جانچ کے دوران کوئی کریش نہیں |
| Sandbox قواعد | صرف اجازت یافتہ وسائل تک رسائی |
| iCloud Entitlements | درست iCloud کنٹینر ترتیب |
اکثر پوچھے گئے سوالات
بنیادی زبان Swift ہے۔ Objective-C بھی تعاون یافتہ ہے لیکن بنیادی طور پر پرانے منصوبوں میں استعمال ہوتی ہے۔ Swift ایک جدید، ٹائپ محفوظ زبان ہے جسے Apple نے 2014 میں متعارف کرایا۔ 2020 سے، Apple نئے منصوبوں کے لیے Swift کو واحد زبان کے طور پر تجویز کرتا ہے۔
UIKit زیادہ سے زیادہ تخصیص کے ساتھ ایک پختہ فریم ورک ہے، پیچیدہ انٹرفیس کے لیے موزوں۔ SwiftUI iOS 13+ کے لیے ایک اعلانی فریم ورک ہے، ترقی کو 2–3 گنا تیز کرتا ہے۔ زیادہ تر منصوبے UIViewRepresentable اور UIHostingController کے ذریعے دونوں طریقے استعمال کرتے ہیں۔
Apple Developer Program سالانہ رکنیت انفرادی ڈویلپرز کے لیے $99 اور تنظیموں کے لیے $299 ہے۔ رکنیت کے بغیر اشاعت ممکن نہیں ہے۔ ڈویلپر کی سالانہ آمدنی کے لحاظ سے App Store کمیشن فروخت کا 15–30% ہے۔
SwiftUI iOS 13 (2019) سے دستیاب ہے۔ تاہم، NavigationStack، Observable Macro اور SwiftData سمیت تمام خصوصیات استعمال کرنے کے لیے iOS 17 اور Xcode 15 درکار ہیں۔ پرانے ورژن کی حمایت SwiftUI کی فعالیت کو محدود کرتی ہے۔
App Sandbox ایک سیکیورٹی ماڈل ہے جو فائل سسٹم، دوسری ایپ کے ڈیٹا اور سسٹم وسائل تک ایپ کی رسائی کو محدود کرتا ہے۔ ہر ایپ ایک الگ تھلگ کنٹینر میں چلتی ہے۔ رابطوں، تصاویر، مائیکروفون تک رسائی کے لیے سسٹم ڈائیلاگ کے ذریعے واضح اجازت درکار ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں