前言
这个问题花了我2天的时间没解决,记下来!
项目需求
由于项目需要定制化,需要在原来的项目上修改部分图片以及部分接口,然后上一个新的APP。于是想到用Target来实现。copy一个新的Target。

编译后,发现旧的Target编译成功,而新创建的Target编译失败。
报错提示:
Command failed due to signal: Segmentation fault: 11
在文件上方提示:
An internal error occurred.Editing functionality may be limited
An internal error occurred. Soucre Editor functionality is limited,Attempting to restore

Xcode版本:8.3.3
解决方法
rm -rf ~/Library/Developer/Xcode/DerivedData/
或者
Xcode –> Preferences –> Location –> DerivedData
点进路径链接后,删除里面的所有内容
使用上面的方法可以解决问题,但是。。。。
当我修改了Swift的代码后问题又出现了同样的问题(Swift类中添加一个新的空函数),编译报错:
Command failed due to signal: Segmentation fault: 11
但这种情况只有copy的Target会出现,原来的Target编译通过,代码是没有问题的,只能重新删除DerivedData里面的数据
相关连接
stackoverflow相关问题
但是很遗憾无法从根本上解决这个问题
总之
这是一个奇葩的问题
1、为什么旧的Target没有问题,新的Target就有问题?
2、多个Target下 Objective-C Generated Interface Header Name 中设置的名称要不要一样,如果一样的话,是不是对应同一个文件?
3、为什么修改了Swift文件后,编译出错?(语法没问题)