В последнее время я испытываю тревожную проблему, связанную с запуском тестов в проекте, который имеет зависимость cocoapods от фреймворка, аварийно завершившегося во время выполнения с ошибкой:
Библиотека не загружена: @ rpath / libswiftSwiftOnoneSupport.dylib Ссылка на: MyCocoapodsDependency
Существуют и другие темы, связанные со стековым потоком, об этой конкретной проблеме, но ни одна из них не затрагивает первопричину (например, здесь ),это означает, что на этапе «Скопировать стандартные библиотеки» тестовой сборки отсутствующая библиотека не копируется.
Это выглядит так (это журнал сборки, когда я строю тесты):
Когда это должно выглядеть так(это журнал сборки для тестового приложения, использующего те же самые зависимости):
Кажется, что OnOneSupport связан с настройкой проектаэто имеет отношение к «Оптимизации всего модуля».
Но даже если я перехожу на «not onOne», это не имеет значения.О dylib упоминается в https://github.com/apple/swift/blob/master/cmake/modules/AddSwift.cmake
. Не могу понять, почему он пропущен в шаге построения стандартных библиотек для одной цели, а не для другой, но очевидно, что она нужна моим тестам.Кто-нибудь знает, как я могу заставить компилятор включить SwiftOnoneSupport?
Обходной путь
Добавить этап сборки к цели теста (в файле проекта), которая копирует libswiftSwiftOnoneSupport.dylibв рамки.Дилиб можно найти по адресу:
/ Applications / Xcode.app / Contents / Developer / Toolchains / XcodeDefault.xctoolchain / usr / bin / bitcode_strip /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain / usr / lib / swift / iphonesimulator / libswiftSwiftOnoneSupport.dylib