iOS App Thinning

iOS App瘦身功能,不错的文章:

  • 初探 iOS 9 的 App 瘦身功能
  • App thinning overview (iOS, tvOS, watchOS)

安装包的优化,参考iPhone安装包的优化

未使用的资源

资源中未使用的资源包括图片、音视频等

图片资源

图片方面的优化,包括图片压缩和去掉项目中未使用的图片资源

1.使用ImageOptim来做图片的压缩
2.使用LSUnusedResources来查找和删除未使用的图片资源

经我自己实践,发现ImageOptim虽然可以对图片(png和jpg类型)进行压缩,但压缩后并不能显著的减小ipa的体积(还是能减小,但是不多,我所经历的项目只减少了0.2M)。有文章说是使用ImageOptim,需要将Xcode中COMPRESS_PNG_FILES设置为NO。但我这样做后,效果还是和原来一样,感觉没什么效果

但删除掉项目中未使用的资源,包括图片、音视频、html/js文件,确实是可以减小ipa包的体积的

包内容

在ipa包中,比较大的内容,主要有2个:

  • Assets.car
  • app的可执行文件

Assets.car的文件,可参考Analysing Assets.car file in IOS
使用Asset Catalog Tinkerer来查看Assets.car的内容

二进制包

可使用MachOView来查看二进制包的组成,一般都包含2种架构:

  • armv7
  • arm64

可使用LinkMap来对文件进行分析,可以知道每个类在最终的可执行文件中占据的大小,就可以有针对性的进行优化

使用的时候需要将Write Link Map File选项设为yes

为使用的类和方法

推荐使用Appcode来做代码检查,code->inspect code代码检测分析功能删除无用类和无用方法

stackoverflow中有介绍使用Xcode来查找某个类的未使用的方法,参考:

  • How to find unused code in Xcode 7?
  • Remove Unused Methods from xcode ios

有一个介绍是,使用assistant editor,选择callers,可发现某个方法是在哪些地方调用的

参考

  • iOS App Thinning 实践
  • iOS-APP瘦身

iOS App Thinning相关推荐

  1. iOS App thinning【( 通过 LinkMap、mach-o寻找优化点)】1、段迁移rename_section减小__TEXT 段大小(需关闭 Bitcode)2、查无用方法/类/宏/图

    文章目录 前言 I .App thinning的实现方法: 1.0 背景知识 1.0.1 下载大小限制(ipa) 1.0.2 可执行文件大小限制 1.0.3 Mach-O 1.0.4 Link Map ...

  2. iOS之深入解析App Thinning的应用瘦身优化

    当前 iOS App 的编译打包方式是把适配兼容多个设备的执行文件及资源文件合并一个文件,上传和下载的文件则包含了所有的这些文件,导致占用较多的存储空间. App Thinning 是一个关于节省 i ...

  3. iOS 9的App Thinning方案如何节省存储空间

    [天极软件频道消息]存储空间不够是很多iOS用户遇到的问题,苹果在2015全球开发者大会(WWDC 2015)上简要介绍了一个关于节省iOS存储空间的解决方案--App Thinning,这项功能可以 ...

  4. iOS上传IPA时提示导入此构建版本时出错-errors occurred in the app thinning process

    今天上传IPA时报错,提示导入此构建版本时出错-errors occurred in the app thinning process,本以为是误操作开启了bitcode,检查后发现并不是,修改了bu ...

  5. iOS打包 App Thinning 选项

    打包的时候,为了使我们打出的包可以安装在所有的设备山,我们需要选择 App Thinning None 如图

  6. iOS9 App Thinning(应用瘦身)功能介绍

    iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...

  7. App Thinning(为什么苹果app上传时的包比在appStore下载下来的包大很多)

    主要参考博客: App Thinning 文章目录 正式版 1. xx.xcarchive文件大小和目录,大小为389.5MB 2.选App Store Connect后Export出的文件,.ipa ...

  8. App Thinning(应用瘦身)功能介绍

    App Thinning (iOS9)会自动检测用户的设备类型(即型号名称)并且只下载当前设备所适用的内容.换句话说,如果你使用的是 iPad Mini 1(1x分辨率且非 retina 显示屏)那么 ...

  9. App Thinning Xcode9打包选择

    6月9日结束的苹果WWDC15大会上,苹果公司推出了多个新技术,不过对于手游开发者们来说,可能最具有革命意义的是库克在发布会现场都没有提到的应用瘦身功能(App Thinning),它是其Xcode ...

最新文章

  1. python property理解
  2. 线程的调度、优先级和亲缘性——Windows核心编程学习手札系列之七
  3. python numpy.linspace() 使用介绍
  4. 制作根文件系统出现错误:No init found
  5. activiti根据当前节点获取下一个节点信息
  6. RSS接触 - RSS中的XML文档
  7. mongo数据库 备份 还原
  8. STM32(三)-------流水灯(标准库函数)
  9. 工信部:2021年1-2月锂电池产量29.5亿只
  10. RJ45与网络变压器脚位及网线线序的关系?
  11. pythonappium环境搭建_python+appium 环境搭建
  12. 震惊!CSDN免费送会员,手慢无!
  13. 百度人脸接口简单随笔
  14. 学习英文必记的九种前缀与三种后缀
  15. php工作日,计算工作日的天数
  16. 全国计算机三级网络工程技术复习笔记4
  17. Element Dialog
  18. 批量提交网站url到百度进行提升索引量的方法
  19. 儿童护眼灯怎么选?护眼灯合格的品牌推荐
  20. python panda3d从入门_panda3d 入门

热门文章

  1. 《自然语言处理实战入门》 深度学习组件TensorFlow2.0 ---- 文本数据建模流程
  2. xkcd目录_使用随机XKCD漫画作为您的桌面墙纸
  3. 红外近距空空导弹弹道仿真
  4. telegram 语音通话语音呼叫一直连接中
  5. 号码归属地查询 核心平台 NGD
  6. IBM X 345服务器无法从光驱启动配置解决方法——非常规方法
  7. 债券收益率预测模型_ARIMA模型在中国移动债券收益预测中的应用
  8. h5 ios Safair下载文件自动添加.html导致文件乱码问题,ios不能使用接口播放视频的问题
  9. html 调用safari,如何从托管在Web浏览器控件中的HTML中打开Safari中的链接?
  10. keras使用load_weights遇到报错