为什么Xcode在构建到设备时会复制未更改的资源?

soat7uwm  于 2023-03-04  发布在  其他
关注(0)|答案(3)|浏览(148)

我正在处理一个相当大的、重资产的iOS项目,我不禁注意到Xcode复制了数百个资源(纹理、精灵页、声音文件等),这些资源自从我上次构建到设备上以来一点也没有改变。当每个构建都需要2-4分钟才能在设备上弹出时,这使得编码非常非常慢。
有没有办法让Xcode识别出它正在做冗余的事情,或者编写一个脚本,让它更智能地将资源传输到设备上?
PS我意识到应用程序可能没有任何内置的“附加”功能。我希望不是这样。

5tmbdcev

5tmbdcev1#

你可以尝试向项目添加另一个目标,并将其命名为“无资源”。从此目标中排除所有繁重资源。第一次需要使用所有资源目标启动应用程序时,下次使用“无资源”目标。如果你向项目添加了某些内容,则应使用第一个目标。

13z8s7eq

13z8s7eq2#

iOS仅支持部署已签名到设备的完整应用程序包。将调试版本部署到设备的过程如下。
1.编译更改的源代码并对二进制进行签名

  1. Alpha预乘PNG图像
    1.创建一个包含应用程序资源和二进制文件的文件夹
    1.对文件夹的内容进行签名,并使用文件夹和签名创建ZIP文件
    1.将ZIP文件(.ipa)复制到设备
    不幸的是,我想时间都花在了#3和#4上,它们是在每个版本中创建的。我还没有看到任何加快速度的方法。如果你有很多很多PNG图像,你可以try telling Xcode to skip Step 2
    如果你的应用程序可以允许你在开发的大部分时间里不包含很多资源,那么NeverBe's approach听起来是个不错的主意,你也可以有第二组小得多的/虚拟的资源,你可以在其中切换。
muk1a3rh

muk1a3rh3#

有时候,XCode真的会把未改变的资源打包,通常是在你用Finder而不是XCode改变文件的时候。
创建项目-〉清理以完成重建

相关问题