我有一个生成iOS框架的Xcode项目。我有两个我想要生成的二进制版本 - 一个用于内部使用,没有许可要求,另一个用于外部使用,具有许可要求。
我想我会为此制作两个目标,使用不同的swift定义来打开许可证。
但似乎我必须生成具有不同名称的框架,这导致在其他项目中使用导入的问题。我必须使用一个名字或另一个名字。
有没有办法可以生成两个具有相同名称的目标 - 例如,直接生成二进制文件的位置?
答案 0 :(得分:2)
解决方案是进入每个目标,并按以下方式更改它们:
1)确保目标的产品名称是我想要的名称(而不是$(TARGET_NAME)
2)在" per-configuration Build Products Path"中,添加目标的目录(即一个将是" license",另一个将是" ; internal"。这会将框架放在该目录中,以便它们可以是同一个名称。
我已经构建了两个,将生成的框架拖到我的应用程序项目中,我可以看到它们正常工作。
答案 1 :(得分:0)
感谢问题和答案Joe。
我想补充一点,使用Xcode10,我无法将框架从根目录移动到文件夹层次结构内的指定组(嵌入式二进制文件将引用添加到项目根目录)。 相反,我必须构建两个框架并将其拖放到各自的组中。这给我带来了一个问题,因为我必须模块化一个整体并分离UI组件。在设备上编写UI和进行测试时,手动构建框架和进行拖放操作需要花费时间。对于有相同问题的任何人,我建议使用构建脚本将框架复制到其位置,这样可以节省时间。