我在另一台计算机上设置了一个远程Git存储库和Xcode Server,然后在Xcode中创建了一个bot。 每次我尝试进行新的集成时,它都会失败并出现如下错误:
Assertion: Opening import file for module 'Accelerate': Permission denied
File: <filename>.swift:9
如果我评论此文件中的所有内容,bot会开始为另一个框架(以及另一个.swift文件)显示相同的错误。它可以是Swift或Objective-C框架。
此项目的 Search Paths
为:$(PROJECT_DIR)
,Always Search User Paths
设为Yes
我正在使用Xcode 7.2 beta 2,但我在App Store中遇到了与Xcode 7.1相同的问题。我尝试重新启动Xcode以及服务器和开发Mac,它没有帮助。该项目在我的开发机器上成功编译并运行。
服务器日志:(xcsbuildd.log)
[BuildService] Previous integration is needed but not loaded yet, fetching.
[BuildService] Previous integration loaded successfully.
[BuildService] Completed integration step XCSCheckoutIntegrationStep without error
[BuildService, Info] Asset packs will be hosted at <server url here>
[BuildService] Current server devices are needed but not loaded yet, fetching.
[BuildService] Devices loaded successfully.
[BuildService, Info] Current server platforms are needed but not loaded yet, fetching.
[BuildService, Info] Platforms loaded successfully.
[BuildService] Creating arguments list for integrate
[BuildService] Integration will not perform analyze action
[BuildService] Integration will perform test action
[BuildService] Integration use scheme-level code coverage enabled setting
[BuildService] Additional build arguments are "(
)"
[BuildService, Info] Creating test device destination arguments for device testing
[BuildService, Info] Create test device destination arguments from device specification
[BuildService, Info] Including device iPhone 6 Plus (A3E8ED2D-4D13-420E-8CE1-6D484E65CD03)
[BuildService, Info] Destination arguments are (
"-skipUnsupportedDestinations",
"-destination-timeout",
30,
"-DVTDeviceLogLevel=3",
"-DVTDeviceSearchLogLevel=3",
"-iPhoneSimulatorLogLevel=3",
"-iPhoneConnectLogLevel=3",
"-destination",
"id=A3E8ED2D-4D13-420E-8CE1-6D484E65CD03"
)
[BuildService] Integrate arguments list is (
"/usr/bin/xcrun",
xcodebuild,
test,
"-IDETestOperationsObserverDebugLogLevel=3",
"-IDEBuildOperationMaxPercentageOfConcurrentCompileTasks=80",
"-IDEBuildOperationQueueSetResourceManagementLogLevel=2",
"-DTDKSupportWirelessDevices=NO",
"-IDEPostProgressNotifications=YES",
"-DVTAllowServerCertificates=YES",
"-DVTSigningCertificateSourceLogLevel=3",
"-DVTSigningCertificateManagerLogLevel=3",
"-DTDKProvisioningProfileExtraSearchPaths=/Library/Developer/XcodeServer/ProvisioningProfiles",
"-DTDKDisableSymbolCopying=YES",
"-scheme",
Newsfeeder,
"-skipUnavailableActions",
"-project",
"/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/Source/Newsfeeder/Newsfeeder.xcodeproj",
"-derivedDataPath",
"/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/DerivedData",
"-skipUnsupportedDestinations",
"-destination-timeout",
30,
"-DVTDeviceLogLevel=3",
"-DVTDeviceSearchLogLevel=3",
"-iPhoneSimulatorLogLevel=3",
"-iPhoneConnectLogLevel=3",
"-destination",
"id=A3E8ED2D-4D13-420E-8CE1-6D484E65CD03",
"-DVTSuppressExternalDeviceLocation=NO",
"-resultBundlePath",
"/Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild_result.bundle"
)
[BuildService] NSTask environment: {
"DEVELOPER_DIR" = "/Library/Developer/XcodeServer/CurrentXcodeSymlink/Contents/Developer";
PATH = "/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin";
XCS = 1;
"XCS_BOT_ID" = 1770e1afb8f775d8c92855beba002640;
"XCS_BOT_NAME" = "Newsfeeder Bot";
"XCS_BOT_TINY_ID" = 8466E19;
"XCS_DERIVED_DATA_DIR" = "/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/DerivedData";
"XCS_INTEGRATION_ID" = 1770e1afb8f775d8c92855beba008e0d;
"XCS_INTEGRATION_NUMBER" = 2;
"XCS_INTEGRATION_RESULT" = unknown;
"XCS_INTEGRATION_TINY_ID" = B989BD8;
"XCS_OUTPUT_DIR" = "/Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d";
"XCS_SOURCE_DIR" = "/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/Source";
"XCS_XCODEBUILD_LOG" = "/Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild.log";
}
[BuildService] Running task /usr/bin/nice /usr/bin/xcrun xcodebuild test -IDETestOperationsObserverDebugLogLevel=3 -IDEBuildOperationMaxPercentageOfConcurrentCompileTasks=80 -IDEBuildOperationQueueSetResourceManagementLogLevel=2 -DTDKSupportWirelessDevices=NO -IDEPostProgressNotifications=YES -DVTAllowServerCertificates=YES -DVTSigningCertificateSourceLogLevel=3 -DVTSigningCertificateManagerLogLevel=3 -DTDKProvisioningProfileExtraSearchPaths=/Library/Developer/XcodeServer/ProvisioningProfiles -DTDKDisableSymbolCopying=YES -scheme Newsfeeder -skipUnavailableActions -project /Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/Source/Newsfeeder/Newsfeeder.xcodeproj -derivedDataPath /Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/DerivedData -skipUnsupportedDestinations -destination-timeout 30 -DVTDeviceLogLevel=3 -DVTDeviceSearchLogLevel=3 -iPhoneSimulatorLogLevel=3 -iPhoneConnectLogLevel=3 -destination id=A3E8ED2D-4D13-420E-8CE1-6D484E65CD03 -DVTSuppressExternalDeviceLocation=NO -resultBundlePath /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild_result.bundle
[BuildService, Info] Monitoring /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild.log for activity.
[BuildService, Info] Done monitoring xcodebuild.log for activity.
[BuildService] Scheme actions record is needed but not loaded yet, fetching.
[BuildService] Scheme actions record loaded successfully.
[BuildService] Completed integration step XCSBuildIntegrationStep without error
[BuildService] Last integration with build results is needed but not loaded yet, fetching.
[BuildService] Last integration with build results loaded successfully.
[BuildService] Build results summary: {
analyzerWarningChange = 0;
analyzerWarningCount = 0;
codeCoveragePercentage = 0;
codeCoveragePercentageDelta = 0;
errorChange = 0;
errorCount = 1;
improvedPerfTestCount = 0;
regressedPerfTestCount = 0;
testFailureChange = 0;
testFailureCount = 0;
testsChange = 0;
testsCount = 0;
warningChange = 0;
warningCount = 0;
}
[BuildService] Integration commit history are needed but not loaded yet, fetching.
[BuildService] Integration commits loaded successfully.
[BuildService] Completed integration step XCSProcessBuildResultsIntegrationStep without error
[BuildService] Matched device <XCSDevice 0x7fc77e82eaf0>
{"modelUTI":"com.apple.iphone-6-plus-b4b5b9","connected":"YES","modelCode":"iPhone7,1","simulator":"YES","osVersion":"9.2","modelName":"iPhone 6 Plus","supported":"YES","deviceUDID":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","identifier":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","enabledForDevelopment":"YES","architecture":"x86_64","isServer":"NO","tinyID":"A3E8ED2","doc_type":"device","trusted":"YES","platformIdentifier":"com.apple.platform.iphonesimulator","name":"iPhone 6 Plus","retina":"YES"} to server device <XCSDevice 0x7fc77e398d70>
{"osVersion":"9.2","connected":"YES","simulator":"YES","modelCode":"iPhone7,1","deviceType":"com.apple.iphone-simulator","modelName":"iPhone 6 Plus","revision":"6-71966f4a54eb01b83604036d5b31c53c","modelUTI":"com.apple.iphone-6-plus-b4b5b9","doc_type":"device","trusted":"YES","name":"iPhone 6 Plus","supported":"YES","identifier":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","enabledForDevelopment":"YES","platformIdentifier":"com.apple.platform.iphonesimulator","ID":"11f2b4085b58a3769cd320245b004ab9","architecture":"x86_64","retina":"NO","isServer":"NO","tinyID":"37889F2"}
[BuildService] Processing device: <XCSDevice 0x7fc77e398d70>
{"osVersion":"9.2","connected":"YES","simulator":"YES","modelCode":"iPhone7,1","deviceType":"com.apple.iphone-simulator","modelName":"iPhone 6 Plus","revision":"6-71966f4a54eb01b83604036d5b31c53c","modelUTI":"com.apple.iphone-6-plus-b4b5b9","doc_type":"device","trusted":"YES","name":"iPhone 6 Plus","supported":"YES","identifier":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","enabledForDevelopment":"YES","platformIdentifier":"com.apple.platform.iphonesimulator","ID":"11f2b4085b58a3769cd320245b004ab9","architecture":"x86_64","retina":"NO","isServer":"NO","tinyID":"37889F2"}
[BuildService] Completed integration step XCSProcessTestResultsIntegrationStep without error
adding: xcodebuild_result.bundle/ (stored 0%)
adding: xcodebuild_result.bundle/1_Test/ (stored 0%)
adding: xcodebuild_result.bundle/1_Test/action.xcactivitylog (stored 0%)
adding: xcodebuild_result.bundle/1_Test/build.xcactivitylog (deflated 1%)
adding: xcodebuild_result.bundle/Info.plist (deflated 79%)
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild_result.bundle.zip
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/buildService.log
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild.log
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/sourceControl.log
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/Session-2015-11-04_16:54:03-zpFYIF.log to relative path (null)
[BuildService] Completed integration step XCSUploadFilesIntegrationStep without error
[BuildService] Integration executor is finished. Exiting.
[BuildService] Registering build service socket listeners
[BuildService] Done registering build service socket listeners
答案 0 :(得分:2)
当我尝试在持续集成服务器(Xcode Service Bots)上构建和运行我自己的框架的测试时,我遇到了同样的错误。将我的服务器应用程序升级到版本5.1(15S5127)和Xcode升级到版本7.3(7D175)后,首先发现了这个问题。
在我的情况下,解决方案结果非常令人惊讶。我花了很多时间才意识到问题只会在我使用Nimble框架时出现。当我从测试中删除import Nimble
并使用标准XCTest断言时,问题就消失了。
在我的案例中有所帮助确保在集成之前,重建Nimble框架。我正在使用Nimble with Carthage,因此我只需在集成触发器中添加以下命令:
cd NimbleCarthageProblem && /usr/local/bin/carthage bootstrap --platform iOS
另见截图:
之后,它构建并成功运行测试。
从你的日志中我看不出你是否正在使用Nimble - 如果你不使用Nimble,那么这意味着问题出在其他地方而我只是经历了另一个启示。
我仍然不明白为什么问题只发生在集成期间构建服务器上。即使我登录到构建机器,查看源代码,然后使用Xcode构建它 - 一切都很好。它只在集成期间在bot上失败。解决方案不是理想的另一个原因:Nimble必须在每次集成之前重建,并且不能只包含在源代码中(如果发现这是一种更好的方法)。
如果我希望其他人能找到实际的解决方案。我不怪Nimble - 这是最确定的事情组合。
我创建了一个示例项目,其中详细描述了问题和解决方案。它可以在这里找到:https://github.com/mczenko/NimbleCarthageProblem。