Open ronick-grammer opened 9 months ago
Xcode 개발 중에 슬라이싱(slicing)을 시뮬레이션하므로 앱 변형(variants)을 만들고 테스트 할 수 있다.
iOS, tvOS 9.0 에서만 슬라이스된 앱을 지원하며, 그 아래버전은 앱스토어에서 universal variants를 제공한다.
다양한 기기와 운영체제 버전에 대하여 여러 가지 app bundle의 변형(variants)을 생성하고 전달하는 과정을 말한다.
universal variants는 Mobile Device Management(MDM), Apple School Manager, Apple Business Manager를 통해 대량구매 한 앱 혹은 iTunes 12.6이하의 버전을 사용하여 다운로드 한 앱을 통해서도 제공됩니다.
앱스토어는 사용자에게 현재 필요한 리소스를 관리하고 다운로드하게 한다. 또한 주문형 리소스의 슬라이싱 작업을 통해 variants의 최적화 작업을 진행한다.
[[iOS]]App Thinning](https://jiseok-zip.tistory.com/entry/iOSApp-Thinning)
앱 씨닝은 iOS 앱의 다운로드 크기를 최소화하고 성능을 최적화하기 위한 기술로, 주로 세 가지 주요 방법으로 구성됨 :
Slicing
,Bitcode
,On-Demand Resources
App thinning 이란
앱이 다양한 디바이스 특성에 맞춰 필요한 리소스와 코드만을 포함하는 앱의 IPA((iOS App Store Package): iOS 운영체제에서 사용되는 앱의 설치파일) 파일을 만들어주는 기술이다. iOS 앱은 아래처럼 구성되어 있으며, 아래 데이터들을 디바이스 환경에 맞게 설치해주는 설치 최적화 기술이다.
iOS 앱의 구성요소
위 데이터들을 Slicing, ODR, Bitcode 이 세가지 방식으로 App Thinning 을 실현한다.
Slicing
다양한 디바이스(ex.
iPhone 8
,iPhone 13 Pro
,iPad Air 2th
)들에 맞는 앱 번들을 만들고 전달하는 과정이다.universal app
) 을 업로드 하면, 앱스토어에서 Slicing을 실행한다. 앱스토어가 설치하려는 디바이스의 특성에 맞춰 필요한 데이터들만 조합해 별도의 IPA 파일을 생성해준다.On Demand Resources(ODR)
앱이 설치된 디바이스에 모든 데이터를 한번에 가져오는 것이 아니고 필요할 때마다 해당 데이터를 가져와 사용될 수 있도록 한다.
BitCode
아직 기계코드도 아니고 사람이 이해할 수 있는 코드도 아닌 중간단계의 코드이다.
📝 참고 사이트