今天打开一个老项目忽然出现上述问题。上述问题的可能行有很多。
第一种解决方案选择Xcode->File->Product Setttings,将Build System 设置成Legacy Build System即可
不过这种方式在我这里并没有解决,于是我又找了另一种方案
第二种方案
其实这个报错完整方案应该是下面这样
error: couldn't remove '/Users/xxx/Library/Developer/Xcode/DerivedData/xxxx/Build/Products/Debug-iphoneos/xxx.app/xxx.bundle' after command failed: Directory not empty
解决办法:Build Phases->Copy Bundle Resources将对应的xx.bundle 删除再重新添加,Clean 程序重新运行即可。
不过这个方法对我还是没用
第三种方案
error: couldn't remove '/Users/xxx/Library/Developer/Xcode/DerivedData/xxxx/Build/Products/Debug-iphoneos/xxx.app/xxx.bundle' after command failed: Directory not empty
我们前往报错信息里面对应的路径下
/*最面的xxx报错项目缓存名称*/
/Users/xxx/Library/Developer/Xcode/DerivedData/xxxx
到此出我们直接删除缓存即可,也可以直接删除DerivedData里面的所有缓存,然后关闭Xcode重新运行项目即可。
不过这个方式对于我来说也没用,于是我就寻找第四种方案
第四种方案
error: make directory /Users/abox/Library/Developer/Xcode/DerivedData/***-haeyxwebfrqqhpdfyxyqzfndxoof/Build/Products/Release-iphoneos/***.app/PlugIns/***.appex/_CodeSignature:
这里的***为项目名称,在这个报错结尾我们可以看到出现了,下图信息
看到这里很多人可能会迷惑,这个路径在哪里,我们打开我们的项目找到,找到Build Phases -> Embed App Extensions -> Destination,到此我们就会发现PlugIns这个选项,出问题的就是他,我们只需要更改一下他的选项即可,这个更改需要根据我们的项目需求,不是随便选择的。