Info.plist = Information Property List Files
Info.plist๋ Xcode ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ์์ฑ๋๋ฉฐ
์คํ ํจํค์ง์ ๊ดํ ํ์ ์ค์ ์ ๋ณด๊ฐ ํฌํจ๋ XML์ ์ฌ์ฉํ์ฌ ๊ตฌ์กฐํ๋ ํ ์คํธ ํ์ผ์ด๋ค.
iOS ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ์ ๋ณด๋ฅผ ๋ด์ ๋์ ์ ์๋ ์ค์ ํ์ผ์ด๋ผ๊ณ ํ ์ ์๋ค.
XML์ Key, Value๋ก ๊ตฌ์ฑ๋ Dictionary ํํ์ด๋ค.
์์คํ ์ ์ด ํค์ ๊ฐ์ ์ด์ฉํ์ฌ ์ฑ๊ณผ ์ฑ์ ์ค์ ์ ๊ฐ์ ธ์จ๋ค.
๐ก ํน์ ํค or ๊ฐ์ ํธ์งํ๋ ค๋ฉด ๊ฐ์ ๋๋ธํด๋ฆญํ์ฌ ์ ํํ ๋ค์ ์ ๊ฐ์ ์ ๋ ฅํ๋ค.
๐ก ์๋ก์ด ํค๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด (+) ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ์์์ ํค๋ฅผ ํด๋ฆญํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด ํด๋น ํค ์๋์ ์๋ก์ด ํค๊ฐ ๋ํ๋๋ค.
[ Information Property List ]
- Localization native development region: ๋ฒ๋ค์ ๋ํ ๊ธฐ๋ณธ ์ธ์ด ๋ฐ ์ธ์ด ID
- ⇒ ํ๊ตญ: Korea, ํธ์ฃผ: en - A ...
- Executable file: ๋ฒ๋ค์ ์คํ ํ์ผ ์ด๋ฆ
- Bundle identifier(ID): ๋ฒ๋ค์ ๊ตฌ๋ถํ๊ธฐ ์ํ ์๋ณ Key ⇒ โผ๏ธ Xcode์ App Store์ ๋ฒ๋ค ID๊ฐ ๋์ผํ์ง ์์ผ๋ฉด ๋ฑ๋ก์ด ๋์ง ์๋๋ค.
- InfoDictionary version: Info.plist์ ํ์ฌ ๋ฒ์
- Bundle name: ์ฌ์ฉ์์๊ฒ ํ์๋๋ ๋ฒ๋ค์ ์ด๋ฆ (16์ ๋ฏธ๋ง)
- Bundle OS Type code: ๋ฒ๋ค ์ ํ์ ์๋ณํ๋ 4๊ธ์ ์ฝ๋
- Bundle version string (short): ๋ฒ๋ค์ ๋ฐฐํฌ ๋ฒ์ ⇒ ์์คํ
์ ์ฒด์์ ๋ฒ๋ค์ ๋ฒ์ ์ ์๋ณํ๋๋ฐ ์ฌ์ฉ๋๋ ํค
- ⇒ ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ ์ธ ๊ฐ์ ์ ์ (ex. 2.3.1)
- ์ฒซ ๋ฒ์งธ ์ซ์: ์ ๊ธฐ๋ฅ์ด๋ major ๋ณ๊ฒฝ ์ฌํญ
- ๋ ๋ฒ์งธ ์ซ์: minor ๋ณ๊ฒฝ ์ฌํญ
- ์ธ ๋ฒ์งธ ์ซ์: ์ ์ง ๊ด๋ฆฌ ๋ณ๊ฒฝ์ฌํญ
- ⇒ ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ ์ธ ๊ฐ์ ์ ์ (ex. 2.3.1)
- Bundle version: ๋ฒ๋ค์ ๋น๋ ๋ฒ์
- ⇒ ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ ์ธ ๊ฐ์ ์ ์ (ex. 2.3.1)
- ์ฒซ ๋ฒ์งธ ์ซ์: major ๊ฐ์ ๋ฒํธ
- ๋ ๋ฒ์งธ ์ซ์: minor ๊ฐ์ ๋ฒํธ
- ์ธ ๋ฒ์งธ ์ซ์: ์ ์ง ๊ด๋ฆฌ ๋ณ๊ฒฝ์ฌํญ
- ⇒ ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ ์ธ ๊ฐ์ ์ ์ (ex. 2.3.1)
- Application requires iPhone environment: iOS์์๋ง ์คํํ๋์ง ์ฌ๋ถ
- Application Scene Manifest: ์ฑ์ Scene ๊ธฐ๋ฐ life-cycle ์ง์์ ๋ํ ์ ๋ณด ⇒ ์ฑ์ด ์ง์ํ๋ ๋ชจ๋ Scene์ ์ ํ ์ค์
- Enable Multiple Windows: ์ฑ์ด ๋์์ ๋ ๊ฐ ์ด์์ Scene์ ์ง์ํ ์ ์๋์ง ์ฒดํฌํ๋ boolean ๊ฐ
- Scene Configuration: ์๋ก์ด Scene์ ๋ง๋ค ๋ ์ฌ์ฉํ UIKit์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์ ๋ณด ์ค์
- Application Session Role
- Application: ์ฅ์น์ ๊ธฐ๋ณธ ํ๋ฉด์ ์ปจํ ์ธ ๋ฅผ ํ์ํ๊ณ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์๋ตํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ฅ๋ฉด
- External Display: ์ธ๋ถ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด Display ๋ด์ฉ์ ํ์ํ๋๋ฐ ์ฌ์ฉํ๋ ์ฅ๋ฉด ex.Airplay Mirror)
- Configuration Name: ํด๋น Scene ๊ตฌ์ฑ์ ์๋ณํ ์ ์๋ ๊ณ ์ ํ ์ด๋ฆ
- Delegate Class Name: ํด๋น Scene์ delegate์ ์ด๋ฆ (์ผ๋ฐ์ ์ผ๋ก Scene Delegate)
- Storyboard Name: ํด๋น Scene์ ๋ํ ์ฒซ UI๋ฅผ ํฌํจํ๋ ์คํ ๋ฆฌ๋ณด๋ ์ด๋ฆ
- Application Session Role
- Application supports indirect input events: ๊ฐ์ ์ ๋ ฅ ์ง์ ์ ๋ฌด๋ฅผ ๋ํ๋ด๋ boolean ๊ฐ
- Launch screen interface file base name: ์ฑ์ ๋ฐ์น ํ๋ฉด์ ์์ฑํ ์คํ ๋ฆฌ๋ณด๋์ ํ์ผ ์ด๋ฆ
- Main storyboard file base name: ๋ฉ์ธ ์คํ ๋ฆฌ๋ณด๋ ํ์ผ ์ด๋ฆ
- Required device capabilities: ์ฑ์ ์คํํ๋๋ฐ ํ์ํ ๊ธฐ๊ธฐ ๊ด๋ จ ๊ธฐ๋ฅ
- ARkit
- armv7
- auto-Focus-camera: ์๋ ์ด์ ๊ธฐ๋ฅ - ํน์ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ์์ ์ํ์ ์ํด ๋ ์ ๋ช ํ ์ด๋ฏธ์ง๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ
- gps: ์์น ์ถ์ ์ ์ํ GPS. ์ด ๊ฐ์ ์ฌ์ฉํ๋ ค๋ฉด location-services ๊ฐ๋ ์ฌ์ฉํด์ผํจ
- microphone: ๋ง์ดํฌ
- gamekit: Game Center์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ
- healthkit
- front-facing-camera: ์ ๋ฐฉ ์นด๋ฉ๋ผ
- camera-flash: ์นด๋ฉ๋ผ ํ๋์
- Supported interfafce orientations: ์ฑ์ด ์ง์ํ๋ ์ธํฐํ์ด์ค ๋ฐฉํฅ
- InterfaceOrientationPortrait: ์ ๋ฉด์นด๋ฉ๋ผ๊ฐ ์๋จ์ ์๋ ์ธ๋ก ๋ชจ๋์ ๋์คํ๋ ์ด๋ฅผ ์ง์
- UIInterfaceOrientationPortraitUpsideDown: ๋์คํ๋ ์ด๋ฅผ ์ง์ํ์ง๋ง ๊ฑฐ๊พธ๋ก๋์ด ์์ผ๋ฉฐ, ์ ๋ฉด์นด๋ฉ๋ผ๊ฐ ํ๋จ์ ์์น
- UIInterfaceOrientationLandscapeRight: ์ ๋ฉด์นด๋ฉ๋ผ๊ฐ ์ผ์ชฝ์ ์๋ ๊ฐ๋ก ๋ชจ๋์ ๋์คํ๋ ์ด๋ฅผ ์ง์
- UIInterfaceOrientationLandscapeLeft: ์ ๋ฉด์นด๋ฉ๋ผ๊ฐ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ๋ก๋ชจ๋์ ๋์คํ๋ ์ด๋ฅผ ์ง์
- Supported interface orientations (iPad): ์ฑ์ด ์ง์ํ๋ ์ธํฐํ์ด์ค ๋ฐฉํฅ(for iPad)
[์ฐธ๊ณ ๋ฌธํ]
Apple Developer Documentation
developer.apple.com
Scene Delegate vs. App Delegate Explained
What does the new Scene Delegate class in your iOS project do? In this article, we'll dive into the scene delegate and how it affects building UIs on iOS.
learnappmaking.com
'๐ iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] ์คํ ๋ฆฌ๋ณด๋ ์๋ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ | No-storyboard (0) | 2022.05.22 |
---|---|
[iOS] App States & View Life Cycle | ์ฑ์ ์ํ์ ๋ทฐ์ ์๋ช ์ฃผ๊ธฐ (0) | 2022.04.04 |
[iOS][error] Editor placeholder in source file (0) | 2021.09.22 |
[iOS] Xcode Workspace | ๊ฐ Area์ ๋ช ์นญ, ์ญํ (0) | 2021.09.21 |
[iOS] App Project ์์ฑ | Xcode Project / Project / Target (0) | 2021.09.11 |