自从将我的混合 Swift 和 Objective-c 项目移动到带有 Swift 2.3 的 XCode 8 后,我每次在对任何项目进行更改后运行测试时都会收到“由于信号导致命令失败:段错误:11”的错误测试文件。
当我点击错误以获取更多信息时,我看到:
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Utilities.h"
^
/Users/.../Utilities.framework/Headers/Utilities.h:18:9: error: include of non-modular header inside framework module 'Utilities'
#import <Utilities/NSString+Utilities.h>
^
基本上只是一堆类似的错误以结尾:
<unknown>:0: error: could not build Objective-C module 'Utilities'
本例中的实用程序是我制作的框架。 Utilities.h 文件中的所有 header 都使用尖括号导入, header 标记为公共(public)。
出现段错误后,它将正常运行,直到我对测试文件进行更改。它只在测试时有这个问题,在构建或运行时没有。
我尝试过的其他事情:
- 更改框架和测试以允许非模块化包含
- 启用/禁用位码
如有任何帮助,我们将不胜感激。
最佳答案
由于内存分配,这是 sift2.3 中的一个问题。
如果您要从实用程序返回任何对象或方法,请尽量避免将方法保留在同一个类中,同时清理代码并清除派生数据并运行
关于ios - 段错误 : 11 when running tests (XCode 8, Swift 2.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39882102/