减少iOS App文件大小

Mic*_*ael 8 xcode ios application-size swift ios8.1

我用Xcode 6.1和swift创建了一个非常简单的iPhone应用程序.我真的很喜欢ios开发并遇到一个应用程序,最终是134 MB!当然这是不可接受的.

我有所有屏幕尺寸的背景图像,最多可达20 mb.这就是它!我将这些图像存储在xcassets中,因为这是我猜的首选方式.

我认为应用程序的重量不应超过25 mbs.

我发现我的项目中有一些引用加倍.我删除了这些,仍然我的.app文件是89 MB!

我究竟做错了什么?我在这上面阅读了几个主题,但没有任何帮助!

直到现在我做了什么:

- reduce the size of all pngs
- disable the compress PNG option, as it seems to make the PNGs bigger (lol)
- configured the build settings to run the fastest and smallest build
- Strip Debug Symbols During Copy build setting to Yes (COPY_PHASE_STRIP = YES)
Run Code Online (Sandbox Code Playgroud)

edit1:Apparenty Xcode用我的png做了一些奇怪的事.其中一些图片,原来是2 MB,在.app文件中超过10mb.xcode做了什么?

Dav*_*ger 13

实际上,Apple重新压缩的文件更大,这并不奇怪.它们针对快速负载而非小尺寸进行了优化.如果您不关心尺寸超过速度,请务必关闭压缩.即使你关心速度,你也可以比苹果更好.

https://imageoptim.com/xcode.html

所以是的,关闭PNG压缩.我要做的第一件事是建立ipa.ipa实际上是一个zip文件,所以构建ipa,将其复制到mac上的文件夹,用.zip扩展名重命名该文件,然后双击它.这将扩大它.在Payload文件夹中找到该应用程序,然后在其上单击鼠标右键并选择显示包内容.您将看到所有资产.按大小排序.我猜你有过大的图像.在那个大小,我的猜测是额外的大小可能几乎完全由PNG文件引起.

考虑对某些人使用非视网膜图像.老实说,大多数人都不会注意到.iOS将优雅地使用视网膜上的非视网膜.这可以节省大量空间,

如果您不需要透明度,还可以考虑对某些文件使用jpeg文件而不是PNG.Jpeg文件效率较低,但可以小得多.比较两者.取决于图像连续色调的程度.

默认情况下,PNG文件为32位.24位颜色和8个buit alpha /透明度.您可以通过转换为24位来节省一些大小.您还可以将大量的尺寸保存为16位或更低的颜色.在8位PNG文件中使用颜色查找表.使用Photoshop和PNG的保存选项,位深度为8及以下.

我有各种昂贵的压缩软件,但经常使用8美元

https://itunes.apple.com/us/app/lossless-photo-squeezer/id704083918?mt=12

尝试8位PNG选项和JPEG选项.

编辑 我做了一些研究.我一直都知道Fireworks做了更好的PNG压缩.我没有意识到有一个8位PNG和8位alpha通道.Photoshop支持8位,1位Alpha通道.如果透明度需要超过1位,我总是告诉人们使用32位PNG.在将来我会告诉他们8位alpha的8位可能是更好的路线,他们只能使用Photoshop进行文件的最终保存.他们只需要保存32位并在其他地方压缩.

http://calendar.perfplanet.com/2010/png-that-works/

大卫