https://www.jianshu.com/p/a49d59b01669
.ipa 패키지 크기 패키지 프로젝트가 118.9M 후, 디스플레이 85.5M iPhone6s에 앱 스토어에 업로드 후, 다운로드 시간은 몇 가지 최적화 방법에 대해 살펴 있도록, 다음이 사용하기 쉬운 정말 그것을 시도 다른 자신의 사람에 의해 기록 된, 너무 깁니다 원래하지, 그냥 기록합니다.
1. 컴파일 옵션 구성
(레벨 옵션 내에서) NO로 설정 디버그 기호를 생성,이 구성 옵션은 절반의 양보다 적은 뺄 수 있도록해야한다. NO 참고로 설정이 중단 점에서 중지하지 않을 경우
![](https://upload-images.jianshu.io/upload_images/4204498-fb22657b4b424547.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
2, 건축하는 ARMv7을 포기
하는 ARMv7 4S의 4,4s를 지원하고 있습니다 사용하는 사람들의 작은 비율이지만, 포함 크기의 추구가 완전히 포기 될 수 있지만 공식적으로 2011 년 11 월에 시작됩니다.
![](https://upload-images.jianshu.io/upload_images/4204498-1f222f677ce7e04a.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
3, 원치 않는 삼자 라이브러리 코드의 제거, 추가 정보
(4), 화상 처리
설치 패키지 풋 프린트의 사진은 내 프로젝트는 볼륨의 절반을 차지, 가장 큰 것입니다.
* 사용 imageoptim 압축 된 이미지 크기
* .JPG 형식의 배경 이미지로 압축 더 부피의 일부.
이 사진이 사용됩니다 * 프로젝트 사진을 사용하고 일부 [: [있는 NSString stringWithFormat는 @ "icon_ % D", 인덱스가]를 UIImage imageNamed]가있다, 물론, 반드시 특히 정확하지 않습니다, 삭제하지 않은 LSUnusedResource이 소프트웨어를 찾기 그림에 사용되지 않는 열입니다.
* 사용 Assets.xcassets 사진은 설치 패키지의 부피를 줄일 수 관리
5 DEAD_CODE_STRIPPING에서 빌드 설정 = YES (기본값은 YES처럼)입니다. 죽은 코드 (코드가 정의되어 있지만 호출되지 않습니다) 결정하는 비트 중복 코드를 컴파일 볼륨이 매우 중요한 경우에도 중복 코드를 제거 제거된다.
![](https://upload-images.jianshu.io/upload_images/4204498-acdf473d308e0851.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
6, 컴파일러 최적화 레벨
설정 -> 빌드 최적화 레벨 여러 컴파일러 최적화 옵션을 가지고, 릴리스 버전 [-Os]는,이 옵션은 코드의 크기를 증가하도록 최적화하지 않는 모든 사람들을 켜고 가능한 한 작게 실행 파일을 드릴 것입니다, Smalllest를 가장 빠른을 선택해야합니다.
![](https://upload-images.jianshu.io/upload_images/4204498-d344823e9c1863bc.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
도 7에서, 기호 정보는 제거
스트립 디버그 복사하는 동안 기호 및 릴리스 버전에서 기본적으로 숨겨져 기호 yes로 설정해야합니다, 당신은 불필요한 디버깅 심볼을 제거 할 수 있습니다. 기본적으로 숨겨진 기호는 모든 기호는 "개인 통근자"로 정의 볼륨이 감소 후 설정됩니다.
![](https://upload-images.jianshu.io/upload_images/4204498-0c54bda3c66a5fe5.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
![](https://upload-images.jianshu.io/upload_images/4204498-b0a2d80b7250a776.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
8 스트립 연결된 제품 : DEBUG의 아래에서 NO, YES 아래 RELEASE 릴리스 모드의 소형화를위한 응용 프로그램이다;
![](https://upload-images.jianshu.io/upload_images/4204498-d423662befc0759d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
2018년 7월 17일 새로운
9, 컴파일러 최적화, 비정상적인 지원을 제거합니다. , C ++ 예외를 사용 NO에 목표 - C의 예외를 사용, 다른 C 플래그 -fno-예외를 추가
![](https://upload-images.jianshu.io/upload_images/4204498-a46129d0f99f20ab.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
![](https://upload-images.jianshu.io/upload_images/4204498-0af43c122f94b003.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
![](https://upload-images.jianshu.io/upload_images/4204498-6b8fed16d9b2bdc1.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200)
사용하여 10 AppCode의 미사용 검출 부호 : 메뉴 바 -> 코드 -> InspectCode
마지막으로 : 그 개발, 디버그하는 동안이를 사용하고자하는 경우, 디버그 및 릴리스를 구별 할 수있는 Xcode BulidSetting에 설정하고 해제 별도로 입고 제공
저자 : Missmiss 무지
링크 : HTTPS : //www.jianshu.com/p/a49d59b01669
출처 : 제인 책은
저자에 의해 저작권이 있습니다. 상업 무단 전재 공인 저자에 문의하시기 바랍니다, 소스가 표시 비상업적 무단 전재하시기 바랍니다.