ios - Xcode 12:CompileAssetCatalog Unity-iPhone/Images.xcassets 失败
问题描述
自从更新到 Xcode 12 后,我们的 CI 机器在使用 xcodebuild 执行命令行构建时出现了奇怪的错误。同样的错误不会发生在 Xcode 中,相同的构建被归档并正确构建。似乎构建过程错误的原因是这样的:
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/Unity-iPhone/Images.xcassets: error: Failed to find newest available Simulator runtime
Underlying Errors:
Description: No available runtime found from: [
watchOS 7.0 (7.0 - 18R382) - com.apple.CoreSimulator.SimRuntime.watchOS-7-0 (unavailable, failed to open liblaunch_sim.dylib) ==> not available: Error Domain=com.apple.CoreSimulator.SimError Code=401 "The watchOS 7.0 simulator runtime is not available." UserInfo={NSLocalizedDescription=The watchOS 7.0 simulator runtime is not available., NSUnderlyingError=0x7f9d4d038cb0 {Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSLocalizedFailureReason=XPC error talking to SimLaunchHostService: <error: 0x7fff8f3a89a0> { count = 1, transaction: 0, voucher = 0x0, contents =
"XPCErrorDescription" => <string: 0x7fff8f3a8b08> { length = 18, contents = "Connection invalid" }
这很奇怪,因为我们的项目不针对 Apple watchOS。
任何线索或想法如何解决这个问题?在我运行相同 Xcode 12 版本并已更新到最新 OSX 版本的计算机上不会出现此问题。
命令行调用:/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project Builds/temp/Unity-iPhone.xcodeproj -scheme Unity-iPhone -sdk iphoneos -configuration Release archive -archivePath Builds/temp/archive /app.xcarchive -derivedDataPath Builds/temp/derivedData
其他相关的构建日志在这里:
CompileAssetCatalog derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app Unity-iPhone/Images.xcassets
cd /Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/Library/Android/android-ndk-r16b:/usr/local/bin:/Library/Android/android-ndk-r16b:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/assetcatalog_dependencies --output-partial-info-plist /Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/assetcatalog_generated_info.plist --app-icon AppIcon --compress-pngs --enable-on-demand-resources YES --development-region English --target-device iphone --target-device ipad --minimum-deployment-target 10.0 --platform iphoneos --compile /Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app /Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/Unity-iPhone/Images.xcassets
/* com.apple.actool.errors */
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/Unity-iPhone/Images.xcassets: error: Failed to find newest available Simulator runtime
Underlying Errors:
Description: No available runtime found from: [
watchOS 7.0 (7.0 - 18R382) - com.apple.CoreSimulator.SimRuntime.watchOS-7-0 (unavailable, failed to open liblaunch_sim.dylib) ==> not available: Error Domain=com.apple.CoreSimulator.SimError Code=401 "The watchOS 7.0 simulator runtime is not available." UserInfo={NSLocalizedDescription=The watchOS 7.0 simulator runtime is not available., NSUnderlyingError=0x7f9d4d038cb0 {Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSLocalizedFailureReason=XPC error talking to SimLaunchHostService: <error: 0x7fff8f3a89a0> { count = 1, transaction: 0, voucher = 0x0, contents =
"XPCErrorDescription" => <string: 0x7fff8f3a8b08> { length = 18, contents = "Connection invalid" }
}}}, NSLocalizedRecoverySuggestion=Unable to open liblaunch_sim.dylib. Try reinstalling Xcode or the simulator runtime., NSLocalizedFailureReason=failed to open liblaunch_sim.dylib},
tvOS 14.0 (14.0 - 18J383) - com.apple.CoreSimulator.SimRuntime.tvOS-14-0 (unavailable, failed to open liblaunch_sim.dylib) ==> not available: Error Domain=com.apple.CoreSimulator.SimError Code=401 "The tvOS 14.0 simulator runtime is not available." UserInfo={NSLocalizedDescription=The tvOS 14.0 simulator runtime is not available., NSUnderlyingError=0x7f9d4d004c40 {Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSLocalizedFailureReason=XPC error talking to SimLaunchHostService: <error: 0x7fff8f3a89a0> { count = 1, transaction: 0, voucher = 0x0, contents =
"XPCErrorDescription" => <string: 0x7fff8f3a8b08> { length = 18, contents = "Connection invalid" }
}}}, NSLocalizedRecoverySuggestion=Unable to open liblaunch_sim.dylib. Try reinstalling Xcode or the simulator runtime., NSLocalizedFailureReason=failed to open liblaunch_sim.dylib},
iOS 14.1 (14.1 - 18A8394) - com.apple.CoreSimulator.SimRuntime.iOS-14-1 (unavailable, failed to open liblaunch_sim.dylib) ==> not available: Error Domain=com.apple.CoreSimulator.SimError Code=401 "The iOS 14.1 simulator runtime is not available." UserInfo={NSLocalizedDescription=The iOS 14.1 simulator runtime is not available., NSUnderlyingError=0x7f9d4d038cb0 {Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSLocalizedFailureReason=XPC error talking to SimLaunchHostService: <error: 0x7fff8f3a89a0> { count = 1, transaction: 0, voucher = 0x0, contents =
"XPCErrorDescription" => <string: 0x7fff8f3a8b08> { length = 18, contents = "Connection invalid" }
}}}, NSLocalizedRecoverySuggestion=Unable to open liblaunch_sim.dylib. Try reinstalling Xcode or the simulator runtime., NSLocalizedFailureReason=failed to open liblaunch_sim.dylib},
] when matching for <IBCocoaTouchPlatformToolDescription: 0x7f9d4e14a0f0> System content for IBCocoaTouchFramework-fourteenAndLater <IBScaleFactorDeviceTypeDescription: 0x7f9d4b4e3e30> scaleFactor=2x, renderMode.identifier=(null), idiom=<IBIPhoneIdiom: 0x7f9d4e52bb40> runtime=<IBCocoaTouchTargetRuntime: 0x7f9d4b488d30>
/* com.apple.actool.document.notices */
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/Unity-iPhone/Images.xcassets:./AppIcon.appiconset/[][ipad][76x76][][][1x][][]: notice: 76x76@1x app icons only apply to iPad apps targeting releases of iOS prior to 10.0.
/* com.apple.actool.compilation-results */
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon20x20@2x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon20x20@2x~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon20x20@3x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon20x20~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon29x29.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon29x29@2x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon29x29@2x~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon29x29@3x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon29x29~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon40x40@2x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon40x40@2x~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon40x40@3x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon40x40~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon60x60@2x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon60x60@3x.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon76x76@2x~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon76x76~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app/AppIcon83.5x83.5@2x~ipad.png
/Users/Shared/Jenkins/Home/workspace/eskari_daily_ios/Builds/temp/derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/assetcatalog_generated_info.plist
** ARCHIVE FAILED **
The following build commands failed:
CompileAssetCatalog derivedData/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/daily.app Unity-iPhone/Images.xcassets
(1 failure)
解决方案
Final solution for this issue was to reinstall Jenkins. Old Jenkins installer had installed Jenkins in way that is no longer supported by apple.
Basically:
- Install Jenkins via homebrew
- copy jobs, workspace, plugins.. to new jenkins
- setup authentications to new jenkins
- Use new Jenkins that is setup on your account and the issue is gone.
推荐阅读
- go - 捕获嵌套接口值
- java - Spring Boot 中的 LocalDateTime 格式
- ios - FFMPEG 中 avformat_find_stream_info 的 EXC_BAD_ACCESS
- python - 使用 ImageDataGenerator 和 validation_split 的每个类的训练样本数
- javascript - 如何自定义反应表?
- javascript - 将哈希 HMAC SHA256 的 JS 加密代码移植到 PHP
- multithreading - 使线程等待条件,但允许线程在等待或侦听信号时保持可用
- laravel - Laravel Passport:应用程序中的 CreateFreshApiToken:授权失败
- php - Yii2 在 docker 上进阶
- kubernetes - Kubernetes 应用程序停机时间