2016-10-05 2 views
2

Так как перемещение моего смешанного проекта Swift и Objective-c в XCode 8 с Swift 2.3, я получаю команду «Ошибка из-за сигнала: ошибка сегментации: 11» каждый раз, когда я запускаю свои тесты после внесения изменений в любой из тестовых файлов.Segfault: 11 при запуске тестов (XCode 8, Swift 2.3)

Когда я нажимаю на ошибки для получения дополнительной информации я вижу:

<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 импортируются с помощью угловых скобок, а заголовки отмечены как общедоступные.

После этого segfaults он будет работать должным образом, пока не внесет изменения в тестовый файл. Эта проблема возникает только при тестировании, а не при создании или запуске.

Другие вещи, которые я пробовал:

  • Изменение структуры и тесты, чтобы позволять не модульное включает
  • Включение/отключение битового кода

Любая помощь будет оценена.

ответ

0

Это проблема в sift2.3 из-за выделения памяти.

если вы возвращаете любой объект или метод из утилиты попытаться избежать держать метод в одном классе, а также чистый код и ясно derivedata и запустить

+0

Не совсем уверен, что вы имеете в виду о сохранении методы внутри того же класса. Многие попытки очистки и удаления производных данных не повлияли на эту проблему. –