Swift Error Command failed due to signal: Segmentation fault: 11

本人第一次写。写得不好的地方,大家见谅。
作为Swift新手,在写Swift代码过程中碰到“Command failed due to signal: Segmentation fault: 11”错误,搞得我头皮都破了。这是在编译阶段报出的错误,如下图所示。

Swift Error Command failed due to signal: Segmentation fault: 11_第1张图片
图1 编译错误堆栈

从图1中,看到有很多“Unnecessary check for ‘iOS’”的警告,但其实这些文件根本就没有做任何iOS版本相关的check。

错误信息没有任何参考价值,只能转化思维,和上一个没有问题的版本做比较看代码上做了什么改变。最后,找到报错的原因在于将protocol设置为private了

Swift Error Command failed due to signal: Segmentation fault: 11_第2张图片
图2 DYLoaderProtocol定义

如图2,我定义了objc版本的DYLoaderProtocol,并且在不同定义了基类DYLoader实现DYLoaderProtocol以及子类DYSucceedLoader继承DYLoader,如图3和图4.

Swift Error Command failed due to signal: Segmentation fault: 11_第3张图片
图3 DYLoader实现
Swift Error Command failed due to signal: Segmentation fault: 11_第4张图片
图4  DYSucceedLoder实现

目前为止,只是有限,还不清楚为什么这样定义会出现segmentation fault 11的错误,有懂的朋友请多多指教。改版后定义如图5。

Swift Error Command failed due to signal: Segmentation fault: 11_第5张图片
图5 DYLoaderProtocol修正定义

你可能感兴趣的:(Swift Error Command failed due to signal: Segmentation fault: 11)