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