目前各个第三方平台正在进行对App Thining的支持(也就是说并不完全支持),所以为正常使用第三方SDK及分享SDK,需要在Build Setting中将Enable bitcode关闭。嘛是App Thining?
由于 iOS 设备多种多样,屏幕尺寸和分辨率更是五花八门,导致app 想在多种屏幕上都能视觉效果良好,就需要大量的优化资源(即 PNG 格式,JPEG 格式以及矢量 PDF 文件等)以匹配不同尺寸的屏幕,这样就导致用户的下载量增大。
另外如今App 不再是由简单的代码和图像组成了。现代应用不仅仅包括可执行的代码,还有不同的 32 位,64 位版本(针对如 arm64, arm7s, 和 arm7 等多种架构的优化),3D 图形技术(如 OpenGL, Metal 等等),还有音频以及其他不同的文件。
如何有效精简 App?App Thining 让这一切变得可能。
App Thining 会自动检测用户的设备类型(即型号名称)并且只下载当前设备所适用的内容。换句话说,如果你使用的是 iPad Mini 1(1x分辨率且非 retina 显示屏)那么只会下载 1x分辨率(下文会有更多介绍)所使用的文件。更强大和更高分辨率的 ipad(如iPad Mini 3或 4)所使用的资源将不会被下载。因为用户仅需下载他/她自己当前使用的特定设备所需的内容,这不仅加快了下载速度,还节约了设备的存储空间
-
App Thining 主要有以下三方面:
- App Slicing 应用程序的划分
- Bitcode
- On Demand Resources 按需加载资源