iOS

[iOS] 앱 패키지 내부 살펴보기

devharrry 2020. 2. 22. 21:27

안녕하세요. 오늘은 iOS앱 패키지 내부에 어떤 파일들이 있는지 알아보려고 합니다. 

 

패키지 내용 보기 

먼저 앱을 아카이빙하신 후 아래 이미지와 같이 '패키지 내용 보기'를 선택합니다. 

 

 

클릭해보면.

 

 

BCSymbolMap

해당 디렉토리가 생성되었다면 *비트코드를 지원함을 의미합니다. 

 

*비트코드란?

비트코드는 컴파일된 프로그램의 중간 표현입니다. LLVM을 통해 앱의 코드를 받아 이를 비트코드로 전환합니다. 

 

비트코드를 포함하지 않는다면 컴파일러는 머신 코드만을 포함하는 실행 파일을 생성합니다. 

포함한다면 기계 코드와 나란히 실행 파일에 포함합니다. 

 

비트코드를 포함한 앱을 앱스토어에 업로드하면 앱스토어 내에서 사용자의 디바이스의 따라 최적화된 바이너리를 다시 빌드하는 과정을 거칩니다. 

 

dSYM 

난독화를 어렵게하고, 앱 바이너리 사이즈를 줄이기 위한 목적으로 만들어지는 디렉토리입니다. 

 

크래시 보고서를 받기 위해서 Fabric, Crashlytics를 사용해보신 적이 있으실겁니다. 이 때 dSYM파일을 주입시켜줘야 해당 버전의 크래시 로그를 받아올 수 있었죠.

 

해당 파일은 아카이브할 때 옵션에 따라 생성할 수도 있고 안할 수도 있습니다. 

 

(9번 참고)

https://gwangyonglee.tistory.com/50 

 

 

Xcode 컴파일 최적화하여 빌드 속도 올리기

안녕하세요. 이번 글에서는 Xcode에서 빌드 속도를 조금이나마 향상시키기 위해서 컴파일 최적화할 수 있는 여러 방법들을 소개하려고 합니다. 목표 Xcode 컴파일 최적화하여 빌드 시간을 최대한 줄이는 것입니다...

gwangyonglee.tistory.com

 

Products

개발한 프로젝트 소스 및 리소스 파일이 들어가있는 디렉토리입니다. 

 

SCMBlueprint

(뭔지 아직 잘 모르겠다...)

SwiftSupport

libswiftFoundation.dylib, libswiftUIKit.dylib등과 같은 해당 프로젝트에서 사용하는 Swift 표준 라이브러리들이 포함되어 있는 디렉토리입니다. 

 

Info.plist

Xcode에서 프로젝트 생성 시에 자동으로 생성되는 info.plist파일입니다.