πŸ“± iOS/-- UIKit

(iOS) μ½”μ½”μ•„ ν„°μΉ˜ , iOS의 계측ꡬ쑰 (CocoaTouch)

Newmon 2021. 7. 19. 13:04

iOS ν”„λ ˆμž„μ›Œν¬

UIApplication UIViewController UILabel UIButton

처럼 접두어에 UIκ°€ λΆ™λŠ” ν΄λž˜μŠ€λ“€μ€ λͺ¨λ‘ UIKitμ΄λΌλŠ” ν”„λ ˆμž„μ›Œν¬λ₯Ό 톡해 μ œκ³΅λ˜λŠ” 객체듀이닀. swiftλΌλŠ” μ–Έμ–΄ μžμ²΄μ—λŠ” μ•± κ°œλ°œμ„ μœ„ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€. λ”°λΌμ„œ 앱을 κ°œλ°œν•˜λ €λ©΄ appleμ—μ„œ μ œκ³΅ν•˜λŠ” μ½”μ½”μ•„ν„°μΉ˜ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•΄μ•Όν•˜λ©°, μ½”μ½”μ•„ν„°μΉ˜ ν•˜μœ„κ³„μΈ΅μ—λŠ” μ—¬λŸ¬κ°€μ§€ ν”„λ ˆμž„μ›Œν¬λ₯Ό λ‹΄κ³ μžˆλ‹€.

 

μ½”μ½”μ•„ ν„°μΉ˜ ν”„λ ˆμž„μ›Œν¬μ˜ μ’…λ₯˜

  • Foundation : μ›μ‹œ 데이터 νƒ€μž…, λ‚ μ§œ 및 μ‹œκ°„ μ—°μ‚°, ν•„ν„°, μ •λ ¬, λ„€νŠΈμ›Œν‚Ή λ“±μ˜ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.
    • NS접두어λ₯Ό μ‚¬μš©ν•œλ‹€. (NSString, NSArray.......)
  • UIKit : 아이폰, μ• ν”Œμ›ŒμΉ˜ 및 μ• ν”Œ TVμ—μ„œ μ‹€ν–‰λ˜λŠ” UIλ₯Ό μ œκ³΅ν•œλ‹€.
  • Webkit : Safari 및 iOSλ‚΄μ˜ λͺ¨λ“  μ›Ή λΈŒλΌμš°μ €μ— μ‚¬μš©λœλ‹€.
  • AddressBookUI : μ£Όμ†Œλ‘ UI
  • GameKit : κ²Œμž„ μ„Όν„°λ₯Ό μ—°λ™ν•˜κ±°λ‚˜, 근거리 P2P 연결을 μ œκ³΅ν•΄μ€€λ‹€.
  • UserNotification : μ‚¬μš©μž μ•Œλ¦Ό 처리 관련객체듀을 μ œκ³΅ν•΄μ€€λ‹€.

이 외에도 μ—¬λŸ¬κ°€μ§€ ν”„λ ˆμž„μ›Œν¬λ“€μ΄ μ‘΄μž¬ν•˜μ§€λ§Œ, Foundationκ³Ό UIKit을 μ½”μ½”μ•„ν„°μΉ˜λ₯Ό μ΄λ£¨λŠ” μ£Ό ν”„λ ˆμž„μ›Œν¬λΌκ³  κ°„μ£Όν•œλ‹€. λ‚˜λ¨Έμ§€ ν”„λ ˆμž„μ›Œν¬λŠ” ν•„μš”ν•œ κΈ°λŠ₯에 따라 μ„ νƒμ μœΌλ‘œ μ‚¬μš©ν•˜λ©΄λ˜μ§€λ§Œ, Foundationκ³Ό UIKit은 μ–΄λ– ν•œ 앱에도 ν•„μˆ˜μ μœΌλ‘œ μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.

 

iOS

μ•„μ΄νŒ¨λ“œ, 아이폰에 νƒ‘μž¬λ˜λŠ” OSλŠ” iOS이닀. iOSλŠ” 2008년에 μ†Œν”„νŠΈμ›¨μ–΄ 개발툴인 SDKκ°€ κ³΅κ°œλ˜λ©΄μ„œ κΈ°λ³Έ μ• ν”Œμ œκ³΅μ•±μ΄ μ•„λ‹Œ, μ»€μŠ€ν…€ 앱듀을 κ°œλ°œν•  수 있게 λ˜μ—ˆλ‹€. SDKλŠ” λ„€μ΄ν‹°λΈŒ 앱을 개발,μ„€μΉ˜,μ‹€ν–‰ 및 ν…ŒμŠ€νŠΈκΉŒμ§€ λͺ¨λ“  κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. SDKλ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” λœ»μ€ νŠΉμ • OSμ—μ„œ λ™μž‘ν•˜λŠ” 앱을 λ§Œλ“€λ„λ‘ ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 뜻과 κ°™λ‹€.

 

λ„€μ΄ν‹°λΈŒ μ•±

Swift ν˜Ήμ€ Object-C둜 개발된 iOSλ₯Ό 톡해 직접 μ‹€ν–‰λ˜λŠ” 앱을 λ§ν•œλ‹€. λΉ„κ΅λ˜λŠ” κ°œλ…μœΌλ‘œλŠ” μ›Ή 앱이 μžˆλ‹€. μ›Ή 앱은 폰 κ°­(Phone Gap), ν‹°νƒ€λŠ„(Titanium)λ“±μ˜ 개발 νˆ΄μ„ ν†΅ν•˜μ—¬ HTML, CSS, JSλ“±μ˜ 기술둜 μ•±κ³Ό λΉ„μŠ·ν•œ UIλ₯Ό μ œκ³΅ν•˜λŠ” 앱을 λ§ν•œλ‹€. μ›Ή 앱은 μ„€μΉ˜κ°€ ν•„μš”μ—†λ‹€λŠ” μž₯점이 μžˆμ§€λ§Œ, μ„±λŠ₯의 μ œμ•½μ΄ 크기 λ•Œλ¬Έμ— λ„€μ΄ν‹°λΈŒ μ•±μ˜ λŒ€μ²΄μ œλ‘œλŠ” μ‚¬μš© λΆˆκ°€ν•˜λ‹€.

 

μ½”μ½”μ•„ ν„°μΉ˜ ν”„λ ˆμž„μ›Œν¬ vs μ½”μ½”μ•„ ν”„λ ˆμž„μ›Œν¬

μ½”μ½”μ•„ ν”„λ ˆμž„μ›Œν¬λŠ” Mac용 μ•± κ°œλ°œμ„ μœ„ν•œ ν”„λ ˆμž„μ›Œν¬μ΄λ‹€. 두 ν”„λ ˆμž„μ›Œν¬λŠ” μ„œλ‘œ κ³΅μœ λ˜λŠ” 뢀뢄이 많고, λ”°λΌμ„œ μ™„μ „νžˆ μ„œλ‘œ λ³„κ°œμ˜ ν”„λ ˆμž„μ›Œν¬λΌκ³  ν•  수 μ—†λ‹€.

 

 

iOS의 계측ꡬ쑰

μƒμœ„ κ³„μΈ΅μΌμˆ˜λ‘ μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό 가깝고, ν•˜μœ„ κ³„μΈ΅μœΌλ‘œ 갈수둝 ν•˜λ“œμ›¨μ–΄μͺ½μ— 가깝고 좔상적이닀. λ”°λΌμ„œ ν•˜μœ„ κ³„μΈ΅μΌμˆ˜λ‘ κ°œλ°œμžκ°€ 닀루기 μ–΄λ €μš΄ μ˜μ—­μ΄λ‹€. μƒμœ„ ν”„λ ˆμž„μ›Œν¬λŠ” ν•˜μœ„ ν”„λ ˆμž„μ›Œν¬μ— μ˜μ‘΄λ„κ°€ λ†’λ‹€. λͺ¨λ“  κΈ°λŠ₯을 μƒμœ„ ν”„λ ˆμž„μ›Œν¬μ— κ΅¬ν˜„ν•  수 μ—†μœΌλ―€λ‘œ, ν•˜μœ„ ν”„λ ˆμž„μ›Œν¬μ˜ κΈ°λŠ₯에 μ˜μ‘΄ν•˜κ²Œ λœλ‹€.

κ°œλ°œμžλŠ” μ½”λ“œλ₯Ό 톡해 κ°„μ ‘μ μœΌλ‘œ ν•˜μœ„κ³„μΈ΅(ν•˜λ“œμ›¨μ–΄μͺ½)을 μ œμ–΄ν•˜κ³  μ»¨νŠΈλ‘€ν•  수 μžˆλ‹€.

 

Core OS

컀널, 파일 μ‹œμŠ€ν…œ, λ„€νŠΈμ›Œν¬, λ³΄μ•ˆ, 전원 관리 및 λ””λ°”μ΄μŠ€ λ“œλΌμ΄λ²„ 등이 ν¬ν•¨λœλ‹€.

 

Core Services

λ¬Έμžμ—΄ 처리, 데이터 관리, λ„€νŠΈμ›Œν¬ 관리, μ£Όμ†Œλ‘ 관리 λ“±μ˜ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 자이둜 μ„Όμ„œ, λ‚˜μΉ¨λ°˜, GPSλ“±μ˜ ν•˜λ“œμ›¨μ–΄μ— κΈ°λ°˜ν•œ μ„œλΉ„μŠ€λ„ Core OSμ—μ„œ μ œκ³΅ν•œλ‹€. CoreData도 이 계측에 μ†ν•œλ‹€.

 

Media Layer

  • κ·Έλž˜ν”½ κ΄€λ ¨ μ„œλΉ„μŠ€ 및 λ©€ν‹°λ―Έλ””μ–΄ κ΄€λ ¨ μ„œλΉ„μŠ€ 제곡
  • AVFoundation , CoreAnimation, CoreText , CoreGraphics등을 μ œκ³΅ν•œλ‹€.