나는 엄청난 파일 크기 변경의 원인을 찾기 위해 Git 역사에서 거꾸로 갔지만, 내가 찾을 수있는 유일한 이유는 Xcode 6에서 Xcode 7 GM으로의 전환입니다.
릴리스 빌드 구성 .ipa
의 아카이브 작업에서 생성 된 파일 크기의 상위 10 개 기여자 인 것으로 나타났습니다 .
$ unzip -lv Roger\ Release.ipa | sort -k +3nr | head
41802768 Defl:N 16887199 60% 09-14-15 23:47 dc24cdc1 Payload/Roger.app/Frameworks/libswiftCore.dylib
41802400 Defl:N 16886076 60% 09-06-15 18:33 f939ea6a SwiftSupport/iphoneos/libswiftCore.dylib
11184032 Defl:N 5915625 47% 09-14-15 23:48 6ceac4a2 Payload/Roger.app/Roger
6399584 Defl:N 2670275 58% 09-14-15 23:47 0ac52d3f Payload/Roger.app/Frameworks/libPhoneNumber_iOS.framework/libPhoneNumber_iOS
5410384 Defl:N 2334189 57% 09-14-15 23:47 7a8cb03f Payload/Roger.app/Frameworks/Alamofire.framework/Alamofire
4521904 Defl:N 2292789 49% 09-14-15 23:47 95da0882 Payload/Roger.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
4731552 Defl:N 1926357 59% 09-14-15 23:48 e05337de Payload/Roger.app/Frameworks/libswiftFoundation.dylib
4731168 Defl:N 1925355 59% 09-06-15 18:33 19a5c3c4 SwiftSupport/iphoneos/libswiftFoundation.dylib
2659232 Defl:N 1232897 54% 09-14-15 23:47 1a53a401 Payload/Roger.app/Frameworks/AFNetworking.framework/AFNetworking
1196624 Defl:N 545343 54% 09-14-15 23:47 19a063cb Payload/Roger.app/Frameworks/Bolts.framework/Bolts
지금까지 가장 큰 파일은 libswiftCore.dylib
총 32MB가 넘는 두 개의 (약간 다른) 파일입니다. Xcode 6에서 빌드 한 번들에서이 두 파일은 총 3MB에 불과했습니다.
그래서 질문 # 1은 : 왜 Swift 코어 파일이 두 번 있습니까? ( Embedded Content Contains Swift Code is set to No ).
그리고 질문 # 2는 : 무슨 일이 있었나요? Swift 코어 크기가 15MB 증가한 이유는 무엇입니까? 영구적입니까?
몇 가지 추가 참고 사항 :
- 이것은 완전히 Objective-C 이었지만 이제는 대부분 Swift 인 프로젝트입니다. 정의 모듈 설정이 설정되어 있음 .
- 이 프로젝트는
use_frameworks!
세트 가있는 CocoaPods를 사용 합니다. - 여러 장치 및 iOS 버전에서 TestFlight의 실제 다운로드 크기를 확인했으며 범위는 30 ~ 60MB입니다 (아마 차이는 앱 슬라이싱으로 인한 것임). 이전에는 9MB였습니다.