我们有一个大的Xcode项目,我们的应用程序有9个不同的目标。它们在品牌、API-url和其他较小的区别上有所不同。它们都使用相同的文件/类/故事板,只有特定的构建设置、bundleID、appGroups等是不同的。将它们分开的代码中的逻辑只是相同文件中的预支持宏。
当我更改故事板中的某些内容时,它会重新编译整个故事板。因为它是一个相当大的故事板,它需要一段时间。我的问题是,它为编译每个目标。因此,当我进行更改时,它会编译整个故事板九次,这需要很长时间。既然它是这些目标之间共享的完全相同的故事板,为什么不能编译一次并共享编译的结果呢?
每当我更改童话板中的可视内容,或者每次更改故事板中的一些小内容,并尝试将目标构建/运行到设备时,都会在状态栏中这样写:
Building "MyTargetOne": | Compiling 1 of 1 Storyboard files
[...]
Building "MyTargetTwo": | Compiling 1 of 1 Storyboard files
[...]
Building "MyTargetThree": | Compiling 1 of 1 Storyboard files
etc.即使我试图运行一个特定的目标,并且这个目标是编译的第一位,在它认为应用程序成功构建之前,它仍然会编译其余的目标。
我怎样才能防止这种情况,而只建立我正在运行的那个呢?我知道编辑->自动刷新视图,但这并没有真正的帮助,除了它没有显示我正在做的故事板。当我构建/运行时,它仍然构建所有目标。
发布于 2017-09-08 10:22:20
在不同的目标上处理相同的文件总是很痛苦的。
如果您的应用程序部署目标是iOS8及以上版本,您可以尝试使用故事板创建动态框架(可可触觉框架),并将目标的二进制文件与其链接起来。
https://stackoverflow.com/questions/46114013
复制相似问题