在尝试将新的Numerics软件包添加到我的项目中时,我遇到了同样的问题。该项目包含一个名为CreativeCoding的iOS目标和一个名为mandelbrot的Mac命令行目标。
我按照Xcode的常规方式向第一个目标添加了该软件包。然后我退出了Xcode并在编辑器(当然是vi)中打开了project.pbxproj文件。
然后,我找到了我的CreativeCoding目标,从packageProductDependencies容器中复制了包含新的Numerics软件包(Numerics、ComplexModule、RealModule)的3行,并将它们粘贴到我的mandelbrot命令行目标的packageProductDependencies容器中。
8B083F4B24F0B40000A225C8 = {
isa = PBXNativeTarget;
buildConfigurationList = 8B083F6024F0B40200A225C8 ;
buildPhases = (
8B083F4824F0B40000A225C8 ,
8B083F4924F0B40000A225C8 ,
8B083F4A24F0B40000A225C8 ,
);
buildRules = (
);
dependencies = (
);
name = CreativeCoding;
packageProductDependencies = (
8B22BD29263E328B00867530 ,
8B22BD2B263E328B00867530 ,
8B22BD2D263E328B00867530 ,
);
productName = CreativeCoding;
productReference = 8B083F4C24F0B40000A225C8 ;
productType = "com.apple.product-type.application";
};
8BE83F4F26213D1C00663AC9 = {
isa = PBXNativeTarget;
buildConfigurationList = 8BE83F5626213D1D00663AC9 ;
buildPhases = (
8BE83F4C26213D1C00663AC9 ,
8BE83F4D26213D1C00663AC9 ,
8BE83F4E26213D1C00663AC9 ,
);
buildRules = (
);
dependencies = (
);
name = mandelbrot;
packageProductDependencies = (
8BB120942622CCB8008EDAB0 ,
8B22BD29263E328B00867530 ,
8B22BD2B263E328B00867530 ,
8B22BD2D263E328B00867530 ,
);
productName = mandlebrot;
如果你已经在第二个目标上安装了ArgumentParser软件包,那么对我来说可能会更容易,因为我只需要将这3行新代码添加到第二个目标上。但你也可以做同样的事情,并向第二个目标添加临时软件包。
然后,我像平常一样进入Xcode并构建了这两个目标,结果成功了。