关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
11 个月前关闭。
Improve this question
我有一个包含三个项目的 Xcode 7.3 工作区,App、FrameworkA 和 FrameworkB。每个项目都有一个目标。这是 iOS,所以框架目标是 Cocoa Touch 框架,这意味着框架包含动态链接的共享库。
应用程序依赖于依赖于框架 B 的框架 A。这些依赖项是有效的,只要 A 正确链接到 B 的构建产品,并且应用程序正确链接并嵌入框架 A 和 B(因为您不能让一个框架嵌入另一个框架) ,似乎应用程序包需要链接和嵌入直接和传递依赖项。)
但这是我的问题。框架 A 和 B 具有通常的构建配置、调试和发布。应用程序有一个额外的构建配置 LocalRelease,它由运行构建操作触发,用于构建优化的构建(如发布),但代码使用开发人员身份(如调试)签名。
当我尝试使用此 LocalRelease 构建配置构建 App 时,这会破坏构建,因为它破坏了对框架 A 和 B 的依赖。我相信这是因为这些框架没有 LocalRelease 构建配置,因此 Xcode 从不将它们的构建产品放入LocalRelease-iphoneos 文件夹,与 App 一样。
所以我的狭隘问题是,如何配置build设置,以便具有非标准构建配置名称(如 LocalRelease)的项目可以依赖于仅使用标准构建配置名称的其他项目?我希望有一种简单的方法可以做到这一点,不需要添加脚本或 xcconfig 文件,但如果有必要,我很想知道为什么。
我更广泛的问题是,引入额外的构建配置通常是一个坏主意,因为它们不允许共享工作区中项目之间的依赖项的平滑交互?我被引导定义这第三个配置,因为我想要一个优化的本地构建,我不想定义一个新的方案,我希望构建类型的选择通过各种构建操作(运行、配置文件、发布)来表达单一方案。
但也许这是错误的做法。只要是构建配置名称驱动构建产品目录路径的情况,并且依赖项目需要在共享目录中查找彼此的构建产品,似乎将非标准构建配置名称引入项目会破坏与依赖于其他项目。
最佳答案
我就此向 Apple 提出了开发人员技术支持票,并与 WWDC 的 Xcode 工程师进行了交谈。
回答我自己的问题
how do I configure build settings so that a project with a nonstandard build configuration name (like LocalRelease) can depend on other projects that use only the standard build configuration names?
答:做不到。
is it in general a bad idea to introduce additional build configurations because they do not allow smooth interaction of dependencies between projects in a shared workspace?
回答:是的,这是一个坏主意。
因此,创建一个新的命名构建配置并不是做我想做的事情的聪明方法。不幸的是,似乎“最简单”的解决方案是包含 xcconfig 文件并为此类事情手动更改配置文件。
关于xcode - 如何使用不同的构建配置设置 Xcode 项目依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37090965/