[英]Missing required module Firebase - Jenkins build error
我已經配置了 jenkins 來構建我的 ios-swift 應用程序。 我使用了 xcode 8.1 版和 swift 3 版。我是 Jenkins 的新手,並繼續集成過程。 根據我的控制台輸出,我認為構建成功。 因為控制台輸出像這樣打印
Touch build/testinng.app
cd /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/usr/bin/touch -c /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build/testinng.app
CodeSign build/testinng.app
cd /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "-"
/usr/bin/codesign --force --sign - --timestamp=none /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build/testinng.app
** BUILD SUCCEEDED **
2016-11-09 19:51:39.300 xcodebuild[2659:26623] [MT] IDETestOperationsObserverDebug: (E99CCCC3-8EED-4FBA-8A00-2CD3C0D7273F) Beginning test session testinngUITests-E99CCCC3-8EED-4FBA-8A00-2CD3C0D7273F at 2016-11-09 19:51:39.299 with Xcode 8B62 on target <DVTiPhoneSimulator: 0x7f9dce6bc690> {
SimDevice: SimDevice : iPhone 7 (223F7310-19DF-4FA7-B147-73AB8B48454F) : state={ Booted } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPhone-7 } runtime={ SimRuntime : 10.1 (14B72) - com.apple.CoreSimulator.SimRuntime.iOS-10-1 }
} (10.1 (14B72))
但是在此控制台輸出打印失敗消息之后。
failed to import required module: 'Firebase'.
我最終控制台輸出是這樣的。
Touch build/testinng.app
cd /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/usr/bin/touch -c /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build/testinng.app
CodeSign build/testinng.app
cd /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "-"
/usr/bin/codesign --force --sign - --timestamp=none /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build/testinng.app
** BUILD SUCCEEDED **
2016-11-09 19:51:39.300 xcodebuild[2659:26623] [MT] IDETestOperationsObserverDebug: (E99CCCC3-8EED-4FBA-8A00-2CD3C0D7273F) Beginning test session testinngUITests-E99CCCC3-8EED-4FBA-8A00-2CD3C0D7273F at 2016-11-09 19:51:39.299 with Xcode 8B62 on target <DVTiPhoneSimulator: 0x7f9dce6bc690> {
SimDevice: SimDevice : iPhone 7 (223F7310-19DF-4FA7-B147-73AB8B48454F) : state={ Booted } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPhone-7 } runtime={ SimRuntime : 10.1 (14B72) - com.apple.CoreSimulator.SimRuntime.iOS-10-1 }
} (10.1 (14B72))
=== BUILD TARGET testinngTests OF PROJECT testinng WITH CONFIGURATION Debug ===
Check dependencies
Create product structure
/bin/mkdir -p /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build/testinng.app/PlugIns/testinngTests.xctest
ProcessInfoPlistFile build/testinng.app/PlugIns/testinngTests.xctest/Info.plist testinngTests/Info.plist
cd /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
builtin-infoPlistUtility /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/testinngTests/Info.plist -expandbuildsettings -format binary -platform iphonesimulator -o /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build/testinng.app/PlugIns/testinngTests.xctest/Info.plist
CompileSwift normal x86_64 /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/testinngTests/testinngTests.swift
cd /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/testinngTests/testinngTests.swift -target x86_64-apple-ios10.0 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.1.sdk -I /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/build -F /--akyiibisusqoudfyyfxubyhwzzgz/Build/Intermediates/testinng.build/Debug-iphonesimulator/testinngTests.build/Objects-normal/x86_64/testinngTests.swiftdeps -o /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/testinng-akyiibisusqoudfyyfxubyhwzzgz/Build/Intermediates/testinng.build/Debug-iphonesimulator/testinngTests.build/Objects-normal/x86_64/testinngTests.o
/Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/testinngTests/testinngTests.swift:10:18: error: missing required module 'Firebase'
@testable import testinng
^
2016-11-09 19:51:48.418 xcodebuild[2659:26623] Error Domain=IDETestOperationsObserverErrorDomain Code=3 "Test operation was canceled. If you believe this error represents a bug, please attach the log file at /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/testinng-akyiibisusqoudfyyfxubyhwzzgz/Logs/Test/B554B7BB-8F73-4B3F-8B9B-B07918ED46AB/Session-testinngUITests-2016-11-09_195139-CXzaIj.log" UserInfo={NSLocalizedDescription=Test operation was canceled. If you believe this error represents a bug, please attach the log file at /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/testinng-akyiibisusqoudfyyfxubyhwzzgz/Logs/Test/B554B7BB-8F73-4B3F-8B9B-B07918ED46AB/Session-testinngUITests-2016-11-09_195139-CXzaIj.log}
2016-11-09 19:51:48.418 xcodebuild[2659:26623] Error Domain=IDETestOperationsObserverErrorDomain Code=3 "Test operation was canceled. If you believe this error represents a bug, please attach the log file at /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/testinng-akyiibisusqoudfyyfxubyhwzzgz/Logs/Test/B554B7BB-8F73-4B3F-8B9B-B07918ED46AB/Session-testinngTests-2016-11-09_195139-NdHjC1.log" UserInfo={NSLocalizedDescription=Test operation was canceled. If you believe this error represents a bug, please attach the log file at /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/testinng-akyiibisusqoudfyyfxubyhwzzgz/Logs/Test/B554B7BB-8F73-4B3F-8B9B-B07918ED46AB/Session-testinngTests-2016-11-09_195139-NdHjC1.log}
2016-11-09 19:51:48.419 xcodebuild[2659:27966] Connection peer refused channel request for "dtxproxy:XCTestManager_IDEInterface:XCTestManager_DaemonConnectionInterface"; channel canceled <DTXChannel: 0x7f9dceef3b20>
2016-11-09 19:51:48.419 xcodebuild[2659:26664] Connection peer refused channel request for "dtxproxy:XCTestManager_IDEInterface:XCTestManager_DaemonConnectionInterface"; channel canceled <DTXChannel: 0x7f9dcee7ded0>
Testing failed:
Missing required module 'Firebase'
** TEST FAILED **
The following build commands failed:
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
CompileSwift normal x86_64 /Users/Shared/Jenkins/Home/workspace/testinng_Bit_Test/testinngTests/testinngTests.swift
(2 failures)
Build step 'Xcode' marked build as failure
與此相關的問題是什么?
經過廣泛的研究,我終於找到了解決這個問題的方法。 我在Runpath Search Paths
所做的第二個修改是我相信實際上解決了這個問題。 以下是我所做/修改的事情。
1.我將 pod 'Firebase' 移動到 pod 文件中的測試目標,如下所示:
target 'MyAppTests' do
inherit! :search_paths
pod 'Firebase'
end
2. Runpath Search Paths
指向$(FRAMEWORK_SEARCH_PATHS)
3.除上述之外,我卸載了舊的cocoapod(1.0.2)並安裝了最新版本(1.1.1),刪除了Firebase,重新安裝了它..然后在終端中進行了pod install
和pod updated
。
好的,所以您的單元測試步驟失敗了。 看起來可能存在網絡問題。 僅從控制台輸出很難准確地判斷發生了什么。 在 Jenkins 服務器的環境方面存在很多差異。 出現問題時查看Jenkins指向的日志總是好的。
查看@testable import testinng
下面的行。 他們將您指向一些日志。
如果您希望立即讓您的 Jenkins 工作開始工作,那么您現在可以隨時跳過運行單元測試,並在將來返回修復該部分。 與此相關的風險,但如果您希望盡快修復您的工作,那么如果您不能足夠快地調試問題,這可能是要走的路線。
在不查看日志或至少獲得更多上下文的情況下,很難確切地說如何解決您的問題,但我建議不要共享您的日志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.