App的安装包(IPA)主要由可执行文件,资源组成

资源(图片,音频,视屏等)

可执行文件瘦身

去掉异常支持

Enable C++ Exceptions, Enalbe Objective-C Exceptions 设置为NO
Other C Flags 添加-fno-exceptions

利用AppCode(https://www.jetbrains.com/objc/)检测未使用的代码: 菜单栏-> Code-> Inspect Code

生成Link Map文件,可以查看可执行文件的具体组成 如下图,修改Write Link Map FileYES,修改写入地址为我电脑的桌面

/Users/lidongxi/Desktop/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt

demo

然后可以使用subline查看,

如果项目比较大,那么查看比较麻烦,借助第三方工具解析Link Map文件,比较方便 http://github.com/huanxsd/LinkMap

运行这个mac项目,选取生成的Llink Map文件 示例:

33.14K    ZKIDCardCameraController.o
10.70K    ZKIDCardFloatingView.o
8.49K    AppDelegate.o
8.36K    UIImage+Rotate.o
4.72K    ViewController.o
0.54K    CoreGraphics.tbd
0.35K    Ë∫´‰ªΩËØÅÊãçÁÖßÊàÂèñ.app-Simulated.xcent
0.33K    libobjc.tbd
0.31K    Person.o
0.26K     linker synthesized
0.19K    main.o
0.19K    UIKit.tbd
0.09K    libSystem.tbd
0.05K    Foundation.tbd