ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်
`Info.plist` က app ရဲ့ 'ID card' ပါ — app name, permission usage description (camera, location), supported orientation, minimum iOS version ကို ဖော်ပြထားပါတယ်။ `Assets.xcassets` ကတော့ image, icon, color ကို organize လုပ်ထားတဲ့ resource catalog ပါ — device resolution (1x/2x/3x) အလိုက် image variant ကို auto-select ပေးပါတယ်။ `App.swift` (`@main struct MyApp: App`) က app ဖွင့်တာနဲ့ ပထမဆုံး run တဲ့ entry point ပါ.
လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
Camera feature သုံးချင်ရင် `Info.plist` ထဲမှာ `NSCameraUsageDescription` key ကို 'ဓာတ်ပုံရိုက်ဖို့ camera access လိုအပ်ပါတယ်' ဆိုတဲ့ user-facing explanation string နဲ့ ထည့်ရေးရပါတယ် — ဒါမထည့်ဘဲ camera API ကို ခေါ်ရင် app crash ချက်ချင်း ဖြစ်ပါလိမ့်မယ် (Android ရဲ့ runtime permission request ထက် ပိုတင်းကျပ်ပါတယ်).
အတူတူ ကြည့်မယ်
// App.swift
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
// Info.plist (excerpt)
// <key>NSCameraUsageDescription</key>
// <string>We need camera access to let you take photos.</string>Project structure ရဲ့ file ၃ ခု (Info.plist/Assets/App.swift) ရဲ့ တာဝန်ကို ခွဲခြားနိုင်မည်။၅ မိနစ် စမ်းကြည့်
Xcode project ထဲမှာ `Info.plist`, `Assets.xcassets`, `App.swift` ၃ ခုကို ဖွင့်ကြည့်ပြီး တစ်ခုချင်းစီက ဘာလုပ်ပေးလဲ ကိုယ်တိုင် မှတ်ချက်ရေးကြည့်ပါ။
သတိလေးတစ်ချက်
`Info.plist` ထဲက usage description string ကို generic/vague ရေးထားရင် (ဥပမာ - 'App needs access') Apple App Store review ကနေ reject ခံရနိုင်ပါတယ် — feature ကို ဘာကြောင့် လိုအပ်လဲ တိတိကျကျ ရေးရပါမယ်။