Xcode - 多个框架目标 - 相同名称?

4
我有一个Xcode项目,可以生成iOS框架。我想要生成两个版本的二进制文件——一个用于内部使用,没有许可要求,而另一个用于外部使用,需要许可证。
我认为我需要为此创建两个目标,其中包含不同的Swift 宏来开启或关闭许可证。
但是似乎我必须使用不同的名称来生成框架,这会导致在其他项目中使用import时出现问题。我必须使用一个名称或另一个名称。
是否有一种方法可以生成相同名称的两个目标,即直接指定二进制文件的位置?
2个回答

4
解决方案是进入每个单独的目标,按以下方式更改它们:
1) 确保目标的产品名称是我想要的名称(而不是 $(TARGET_NAME) )。
2) 在“每个配置的构建产品路径”中,为目标添加一个目录(例如一个为“license”,另一个为“internal”)。这将把框架放在该目录中,以便它们可以具有相同的名称。
我已经构建了两个目标,将生成的框架拖到我的应用程序项目中,我可以看到它们可以正常工作。

感谢您提出这个精彩的问题。我也遇到了同样的情况,但我真的想要生成两个相同的框架,只是名称不同,例如“Product-Beta.framework”和“Product-Release.framework”。您能帮助我解决这个问题吗? - Bucket

0

感谢Joe提出的问题和答案。

我想补充一点,在使用Xcode10时,我无法将框架从根目录移动到文件夹层次结构中指定的组中(嵌入二进制文件添加了对项目根目录的引用)。 相反,我不得不构建两个框架并将它们拖放到各自的组中。这对我来说是个问题,因为我必须将单体模块化并分离UI组件。在编写UI和在设备上测试时手动构建框架和拖放需要时间。对于遇到同样问题的任何人,我建议使用构建脚本将框架复制到它们的位置,这可以节省时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接