λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🍎 iOS

[iOS] 에셋 μΉ΄νƒˆλ‘œκ·Έ(Asset catalog)와 μ•± μ‹œλ‹(App thinning)

by Danna 2021. 6. 13.
728x90
728x90

μ•± λ‹€μš΄λ‘œλ“œ μ΅œμ ν™” 기술인 μ•± μ‹œλ‹(App thinning)κ³Ό μ•± μŠ¬λΌμ΄μ‹±(App slicing).

μ•± μ•„μ΄μ½˜, 이미지, μŒμ•… 및 데이터 관리λ₯Ό μœ„ν•œ 에셋(Asset).


 

iOS μ•± ν”„λ‘œκ·Έλž˜λ°

λΆ€μŠ€νŠΈμ½”μŠ€ 무료 κ°•μ˜

www.boostcourse.org

 

1μž₯μ—μ„œ μŒμ•…μž¬μƒ 앱을 λ§Œλ“€λ©΄μ„œ μ•„λž˜μ˜ λ‚΄μš©λ“€μ„ ν•™μŠ΅ν–ˆμŠ΅λ‹ˆλ‹€.

 

  • 에셋(Asset) - μ•± μ•„μ΄μ½˜, 이미지 파일, 데이터 νŒŒμΌμ„ 관리, μ•± μ‹€ν–‰μ‹œ νŒŒμΌμ— μ‰½κ²Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ 도와쀀닀.
  • μ•± μ‹œλ‹(App thinning)κ³Ό μ•± μŠ¬λΌμ΄μ‹±(App slicing) - λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ—μ„œ λΉ λ₯΄κ²Œ λ‹€μš΄λ‘œλ“œν•  수 μžˆλ„λ‘ ν•˜λŠ” μ΅œμ ν™” 기술 
  • Cocoa Touch, UIKit, Foundation - iOS μ•± κ°œλ°œμ— ν•„μš”ν•œ ν”„λ ˆμž„μ›Œν¬ 
  • UI λ₯Ό κ°œλ°œν•˜κ³  Autolayout 을 μ μš©ν•˜λŠ” 방법 - μΈν„°νŽ˜μ΄μŠ€ λΉŒλ” vs μ½”λ“œλ‘œ μž‘μ„±
  • iOS의 View 체계 - λ·° 계측, 뷰의 μ’Œν‘œ, ν”„λ ˆμž„ vs λ°”μš΄λ“œ, λ·° 계측 디버깅 툴
  • λ””μžμΈ νŒ¨ν„΄κ³Ό MVC νŒ¨ν„΄ - μ‹±κΈ€ν„΄ νŒ¨ν„΄κ³Ό μ•±κ°œλ°œμ—μ„œμ˜ MVC νŒ¨ν„΄μ„ μ€‘μ μ μœΌλ‘œ
  • AVAudioPlayer, Timer - μŒμ•… νŒŒμΌμ„ μž¬μƒν•˜κΈ° μœ„ν•œ AVAudioPlayer, μ‹œκ°„μ΄ˆλ₯Ό 재기 μœ„ν•œ Timer

 

1. 에셋 (Asset) 

ν”„λ‘œμ νŠΈ μƒμ„±μ‹œ ν¬ν•¨λ˜λŠ” Assets.xcassets 폴더λ₯Ό 에셋 μΉ΄νƒˆλ‘œκ·ΈλΌκ³  ν•˜λ©°, 에셋 μΉ΄νƒˆλ‘œκ·ΈλŠ” μ•± μ•„μ΄μ½˜, 이미지 파일, 데이터 파일 등을 κ΄€λ¦¬ν•œλ‹€. 에셋 μΉ΄νƒˆλ‘œκ·ΈλŠ” 에셋과 λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ˜ 속성에 λŒ€ν•œ 파일의 맀핑을 톡해 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ¦¬μ†ŒμŠ€(이미지, μŒμ•… 파일 λ“±)에 μ‰½κ²Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ 도와쀀닀. 

 

2. μ•± μ‹œλ‹κ³Ό μ•± 슬라이슀

μ•± μ‹œλ‹(App thinning)

μ•± μ‹œλ‹μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ””λ°”μ΄μŠ€μ— μ„€μΉ˜λ  λ•Œ μ•±μŠ€ν† μ–΄μ™€ μš΄μ˜μ²΄μ œκ°€ 앱이 μ„€μΉ˜λ  λ””λ°”μ΄μŠ€μ˜ νŠΉμ„±μ— 맞게 μ„€μΉ˜ν•˜λ„λ‘ ν•˜λŠ” μ΅œμ ν™” κΈ°μˆ μ΄λ‹€. μ•± μ‹œλ‹μ„ ν†΅ν•΄μ„œ μ„€μΉ˜ μš©λŸ‰μ„ μ΅œμ†Œν™”ν•˜κ³  λ‹€μš΄λ‘œλ“œ 속도λ₯Ό ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€. μ•± μ‹œλ‹μ˜ 기술 ꡬ성 μš”μ†ŒλŠ” μŠ¬λΌμ΄μ‹±(slicing), λΉ„νŠΈμ½”λ“œ(bitcode), μ£Όλ¬Έν˜• λ¦¬μ†ŒμŠ€(on-demand resource) κ°€ μžˆλ‹€.

 

μ•± μŠ¬λΌμ΄μ‹±(App slicing)

μ•± μŠ¬λΌμ΄μ‹±μ€ μ§€μ›ν•˜λŠ” λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ— λŒ€ν•œ μ—¬λŸ¬ 쑰각의 μ•± λ²ˆλ“€(app bundle)을 μƒμ„±ν•˜κ³  λ””λ°”μ΄μŠ€μ— μ•Œλ§žλŠ” 쑰각을 μ „λ‹¬ν•˜λŠ” κΈ°μˆ μ΄λ‹€. κ°œλ°œμžκ°€ μ•±μŠ€ν† μ–΄μ— μ•± 전체 버전을 μ—…λ‘œλ“œν•˜λ©΄, μ•±μŠ€ν† μ–΄μ—λŠ” 각 λ””λ°”μ΄μŠ€μ— λ§žλŠ” λ‹€μ–‘ν•œ λ²„μ „μ˜ 쑰각듀이 μƒμ„±λœλ‹€. μ‚¬μš©μžκ°€ 앱을 μ„€μΉ˜ν•  λ•Œμ—λŠ” 전체 버전이 μ•„λ‹Œ μŠ¬λΌμ΄μ‹±λœ 쑰각 쀑 μ‚¬μš©μž λ””λ°”μ΄μŠ€μ— μ ν•©ν•œ 쑰각이 λ‹€μš΄λ‘œλ“œ λ˜μ–΄ μ„€μΉ˜λœλ‹€. 

* 에셋 μΉ΄νƒˆλ‘œκ·Έμ—μ„œ κ΄€λ¦¬ν•˜λŠ” 이미지듀은 μžλ™μ μœΌλ‘œ μŠ¬λΌμ΄μ‹±μ΄ μ μš©λœλ‹€.

* μŠ¬λΌμ΄μ‹±μ€ iOS 9.0 버전 μ΄μƒλ§Œ μ§€μ›ν•œλ‹€.

 

λΉ„νŠΈμ½”λ“œ(bitcode)

μƒˆλ‘œμš΄ μ• ν”Œ λ””λ°”μ΄μŠ€κ°€ μΆœμ‹œλ˜λ”λΌλ„ μƒˆλ‘œμš΄ 버전을 λ§Œλ“€ ν•„μš” 없이 μ• ν”Œ μΈ‘μ—μ„œ μ•Œμ•„μ„œ μž¬μ»΄νŒŒμΌν•˜κΈ° μœ„ν•œ 방식이닀. λΉ„νŠΈμ½”λ“œλ₯Ό μ‚¬μš©ν•˜κ²Œ 되면 μ•± μŠ€ν† μ–΄μ— μ—…λ‘œλ“œ μ‹œ, μ• ν”Œμ—μ„œ ν•΄λ‹Ή 앱을 μƒˆλ‘œ μ»΄νŒŒμΌν•˜μ—¬ μ΅œμ ν™”ν•œλ‹€.

 

μ£Όλ¬Έν˜• λ¦¬μ†ŒμŠ€(on-demand resourece)

ꡳ이 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— 포함될 ν•„μš”κ°€ μ—†λŠ” μ΄λ―Έμ§€λ‚˜ μŒμ•… νŒŒμΌμ— νƒœκ·Έλ₯Ό λ‹¬μ•„μ„œ, λ‚˜μ€‘μ— ν•΄λ‹Ή νŒŒμΌμ„ μš”μ²­ν•  λ•Œ 받을 수 μžˆλ„λ‘ ν•˜λŠ” 방식이닀. μ•±μ˜ λ‹€μš΄λ‘œλ“œ μ‚¬μ΄μ¦ˆλ₯Ό 쀄일 수 μžˆλ‹€.

 

[Boostcourse] μ•± μŠ¬λΌμ΄μ‹±μ— λŒ€ν•œ 이미지 //  iTunes Connect λŒ€μ‹  App store connect 둜 μƒκ°ν•˜κΈ°

 

 


참고 링크

μ—°κ²°λ˜λŠ” λ‹€μŒ ν¬μŠ€νŒ…

728x90
728x90