1

我在一个非常大的 iOS 项目中工作,它有很多类和资源,需要很长时间来索引和编译它们。随着它越来越多,我需要对此做点什么,因为我花费了太多时间等待 IDE 让我工作。

我的第一个想法是将所有图像打包在一个自定义包中,以便 IDE 将其视为单个文件,并且索引和复制它会更快,但我已经看到包只不过是一个带有扩展名的简单文件夹,所以我猜性能仍然会很慢。然后我读到,如果我对图像使用“蓝色文件夹”而不是“黄色组”,Xcode 不会索引它们。但是这种方式现在并不容易,因为我应该替换查找图像以在该文件夹中查找它们的函数(绝对路径?)

所以我的最后一种方法是节省编译时间和索引时间。我想在多个库中模块化我的代码,这样就不需要再次“编译”它,这样 Xcode 也不需要索引源文件。

我已经学习了一些教程,现在我知道如何创建一个静态库并将头文件包含在另一个项目中。但我目前的问题如下。

我的应用程序有几个“独立”模块,所以我想为每个模块创建一个静态库(也许我也会为每个模块生成一个图像包......)。但是所有这些模块都使用一个共同的核心,我也想在静态库中维护它。所以,如果我这样做,我将不得不在每个模块库中包含主核心库,我担心这不是最优化的方式,因为核心的二进制代码会出现几次,正确的?

我想正确的解决方案是为模块的核心和静态库生成一个动态库,但我找不到如何生成动态库...此外,我不确定这是否是解决方案。

所以我问你:我有什么选择?多次编译核心是我拥有的最佳方法吗?非常感谢你的帮助!

4

1 回答 1

1

IOS 不支持动态链接,所以这不是一个选项。虽然静态库被添加到其他库中,但它没有嵌入到其他静态库中,您可以在构建时看到这一点,其他库应该在项目文件夹中显示为单独的库,因此每个静态库/project 只会在应用程序构建中包含一次。

最后......如果您在同一个工作区中使用静态库,我不确定这是否会为您节省大量时间。我在一些项目中使用静态库,如果我对应用程序执行清理,然后构建,静态库也将重新构建。

于 2012-12-10T17:06:01.310 回答