Запуск xctests из Xcode и xcodebuild завершается неудачно, если используется симулятор - dyld: библиотека не загружена: @ rpath / libswiftSwiftOnoneSupport.dylib проблема - print () - PullRequest
0 голосов
/ 18 февраля 2019

Я столкнулся со странным поведением, когда я запускаю тесты из XCode или выполняю эту команду из терминала:

xcodebuild test -scheme '<MY_APP>' 

тесты выполняются успешно в обоих случаях, хотя во втором случае тесты успешны,однако мне нужно явно указать тестовое устройство.Когда я пытаюсь сделать это и выполнить ту же команду с флагом -destination:

xcodebuild test -scheme '<MY_APP>' -destination "platform=iOS Simulator,name=iPhone XS,OS=latest"

я получаю эту ошибку:

e2019-02-18 18:39:22.625 xcodebuild[36312:791798] Error Domain=IDETestOperationsObserverErrorDomain Code=6 "Early unexpected exit, operation never finished bootstrapping - no restart will be attempted" UserInfo={NSLocalizedDescription=Early unexpected exit, operation never finished bootstrapping - no restart will be attempted, NSUnderlyingError=0x7f8a38637410 {Error Domain=IDETestOperationsObserverErrorDomain Code=5 "Test runner exited before starting test execution." UserInfo={NSLocalizedDescription=Test runner exited before starting test execution., NSLocalizedRecoverySuggestion=If you believe this error represents a bug, please attach the result bundle at /Users/<MY_USER>/Library/Developer/Xcode/DerivedData/<MY_APP>/Logs/Test/<MY_APP>-2019.02.18_18-37-12-+0100.xcresult}}} Generating coverage data... Generated coverage report: /Users/<MY_USER>/Library/Developer/Xcode/DerivedData/<MY_APP>-fbdolvrdfafpjbenwwqzgnlfkpoa/Logs/Test/Test-<MY_APP>.02.18_18-37-12-+0100.xcresult/1_Test/action.xccovreport Testing failed: <MY_APP>.app (36589) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying error: Test runner exited before starting test execution.)) ** TEST FAILED **

Другие вещи, чтобы упомянуть: Это приложение Cordova,Нативная часть iOS написана на Objective-C.Но я использую некоторые библиотеки, написанные на Swift.Мне нужен xcodebuild для тестирования приложения на моем сервере.Любое предложение, что может вызвать эту проблему?Также в первый раз, когда я выполняю команду без целевого флага, кодирование будет успешным, но когда я сделал это с целевым флагом, оно пустое:

    CodeSign /Users/<MY_USER>/Library/Developer/Xcode/DerivedData/<MY_APP>-fbdolvrdfafpjbenwwqzgnlfkpoa/Build/Products/Debug-iphonesimulator/<MY_APP>.app/PlugIns/<MY_APP>Tests.xctest (in target: <MY_APP>Tests)
    cd /Users/<MY_USER>/projects/my_project/
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "-"

ОБНОВЛЕНИЕ:

Каким-то образом я мог выяснить причину проблемы, которая заключается в известной ошибке:

    dyld: Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib
Referenced from: /Users/<MY_USER>/Library/Developer/CoreSimulator/Devices/5AEAA313-0C65-49D8-BC20-DCC9994719C4/data/Containers/Bundle/Application/48DC52C0-4BC6-45ED-9AEE-A0E1F5C8BA1B/P2P-1-<MY_APP>.app/Frameworks/<REQUIRED_FRAMEWORK>.framework/<REQUIRED_FRAMEWORK>

Вы можете подумать, что с этого момента решение было простым и простым, но оно былоне.

1 Ответ

0 голосов
/ 22 февраля 2019

Поскольку эта ошибка загрузки библиотеки указывала на структуру, в которой я застрял ...

Я попробовал следующее: dyld: библиотека не загружена: @ rpath / libswiftSwiftOnoneSupport.dylib

Xcode - формат пакета не распознан, недействителен или непригоден

Ссылки на удаленный каркас в файле project.pbxproj

Always Embed Swift Standard Libraries имеетв приложении установлено значение YES, но я не уверен, что в данной среде также установлено значение YES.

В целом решение было получено из этого вопроса: dyld:Библиотека не загружена: @ rpath / libswiftSwiftOnoneSupport.dylib

, где LuisCien, предлагающий специально использовать print() в любом месте кода, каким-то образом заставит libswiftSwiftOnoneSupport.dylib быть загруженным, и проблема исчезнет.

Тесты сейчас запущены, хотя мне очень любопытно, почему это ,, взломать ,, работает.

Также тесты не выполняются, только когда я пытаюсь запустить его с помощью симулятора с Xcode или с xcodebuild.

...