iOS App尺寸检查工具

Saz*_*han 5 xcode ios ipa

我正在使用iOS应用程序,它同时使用Objective c和swift代码.目前应用IPA规模变得如此之大.包括一些资源但可能未在最终版本IPA中使用.我想找到应该删除哪个资源以及哪些资源使我的应用程序大小不必要地增加.我想知道是否有任何工具或xcode探查器来分析和摆脱这个问题.

谢谢

Saz*_*han 9

到目前为止,我找到的最好的工具是https://github.com/tinymind/LSUnusedResources

LSUnusedResources

用于在XCode项目中查找未使用的图像和资源的Mac App.它受到jeffhodnett Unused的严重影响,但Unused非常慢,结果并不完全正确.因此它进行了一些性能优化,搜索速度比Unused更快.

导出未使用的资源列表

使用此工具并将未使用/未引用的资源列表导出到unused.txt

在此输入图像描述

从Xcode .pbxproj文件中删除引用

使用下面的python脚本从project.pbxproj文件中删除引用,

file = open("unused.txt","r")
data = [line.rstrip('\n') for line in open("project.pbxproj", 'r')]
newFile = open("project2.pbxproj","w")

def removeLine(imageName):
        temp = data 
        for line_s in temp:
                if line_s.find(imageName) != -1:
                        data.remove(line_s)
                else:
                        continue        

for line in file:
        if (len(line) > 5):
                tokens = line.split("/")
                len_a = len(tokens)
                imageName =  tokens[len_a-1]
                removeLine(imageName.rstrip('\n'))

for line in data:
        newFile.write(line)
        newFile.write('\n')
Run Code Online (Sandbox Code Playgroud)


nem*_*sis 8

首先,您使用的是最新的Xcode版本吗?Xcode 8.3生成的二进制文件比Xcode 8.2大2-3倍,Apple修复了8.3.1中的这个错误.

此外,您可以查看随需应变资源,它可以让您将重型资产上传到App Store,但不会捆绑在应用程序中 - 当用户下载您的应用程序时,iOS会自动下载必要的资产以正确运行应用程序.

您可以更改.ipa文件以获得.zip扩展名并将其解压缩.您稍后可以使用未归档文件的简单检查(例如磁盘清单X),.zip看看那里发生了什么.

此外,您可能正在查看App Store提交.ipa,其中包含必要的dSYM文件和其他杂项数据.

您可以.ipa按照此答案中的步骤检查应用程序将拥有的不同设备的App Store 大小.

最后但并非最不重要的是,请查看Apple关于减少应用程序大小的问答.