每次我尝试进行新的集成时,都会失败并出现如下错误:
Assertion: opening import file for module 'Accelerate': Permission denied File: <filename>.swift:9
如果我评论此文件中的所有内容,bot会开始为另一个框架(以及另一个.swift文件)显示相同的错误.它可以是Swift或Objective-C框架.
此项目的搜索路径为:$(PROJECT_DIR),并且“始终搜索用户路径”设置为“是”
我正在使用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","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","deviceType":"com.apple.iphone-simulator","revision":"6-71966f4a54eb01b83604036d5b31c53c","modelUTI":"com.apple.iphone-6-plus-b4b5b9","ID":"11f2b4085b58a3769cd320245b004ab9","retina":"NO","tinyID":"37889F2"} [BuildService] Processing device: <XCSDevice 0x7fc77e398d70> {"osVersion":"9.2","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
解决方法
在我的情况下,解决方案结果非常令人惊讶.我花了很多时间才意识到问题只会在我使用Nimble框架时出现.当我从测试中删除导入Nimble并使用标准的XCTest断言时,问题就消失了.
在我的案例中有助于确保在集成之前,重建Nimble框架.我使用Nimble with Carthage,所以我只需要在Before Integration Trigger中添加以下命令:
cd NimbleCarthageProblem && /usr/local/bin/carthage bootstrap --platform iOS
另见截图:
之后,它构建并成功运行测试.
从您的日志中我无法看到您是否正在使用Nimble – 如果您不使用Nimble,那么这意味着问题出在其他地方并且我刚刚经历了另一个启示.
我仍然不明白为什么问题只发生在集成期间构建服务器上.即使我登录到构建机器,查看源代码,然后使用Xcode构建它 – 一切都很好.它只在集成期间在bot上失败.解决方案不是理想的另一个原因:Nimble必须在每次集成之前重建,并且不能只包含在源代码中(如果发现这是一种更好的方法).
如果我希望其他人能找到实际的解决方案.我不怪Nimble–这是最确定的事情组合.
我创建了一个示例项目,其中更详细地描述了问题和解决方案.它可以在这里找到:https://github.com/mczenko/NimbleCarthageProblem.