我们正在尝试使用 xcodebuild 作为其 CI/CD 管道的一部分来构建 iOS 应用程序。它在 XCode 14 中运行良好,但我们需要将其更新到 XCode 15.2,因为 Apple 需要更高的 SDK 版本...
我们正在尝试使用 xcodebuild 作为其 CI/CD 管道的一部分来构建 iOS 应用程序。它在 XCode 14 中运行良好,但我们需要将其更新到 XCode 15.2,因为 Apple 需要更高的 SDK 版本才能发布到 Apple Store (17)。它在 XCode 15.2 本身中构建良好,但由于某种原因,当我们尝试使用 xcodebuild 构建它时,命令失败并显示以下消息:
Code Signing /Users/.../Library/Developer/Xcode/DerivedData/...-ahxomdvsgwllnsdagdfhsoirhchh/Build/Intermediates.noindex/ArchiveIntermediates/.../InstallationBuildProductsLocation/Applications/....app/Frameworks/FirebaseCore.framework with Identity Apple Distribution: ... (...)
/usr/bin/codesign --force --sign ACBAB517E7B3785D0AB307856EB52A95416A09B4 --preserve-metadata=identifier,entitlements '/Users/.../Library/Developer/Xcode/DerivedData/...-ahxomdvsgwllnsdagdfhsoirhchh/Build/Intermediates.noindex/ArchiveIntermediates/.../InstallationBuildProductsLocation/Applications/....app/Frameworks/FirebaseCore.framework'
/Users/.../Library/Developer/Xcode/DerivedData/...-ahxomdvsgwllnsdagdfhsoirhchh/Build/Intermediates.noindex/ArchiveIntermediates/.../InstallationBuildProductsLocation/Applications/....app/Frameworks/FirebaseCore.framework: errSecInternalComponent
Command PhaseScriptExecution failed with a nonzero exit code
这是我们正在执行的命令(我们正在使用一些像 firebase 这样的 cocoa 包):
- brew install cocoapods --formula > logs/brew_install_cocoapods.log
- pod install --project-directory=src > logs/pod_install.log
- xcodebuild -workspace $xcode_workspace -scheme $xcode_scheme -sdk $xcode_sdk_archive -configuration $xcode_configuration clean build archive -archivePath $PWD/build/$xcode_scheme.xcarchive > logs/xcodebuild_archive.log
我们该怎么做才能解决这个问题?有没有办法将 xcode 使用的参数复制到我们的 xcodebuild 命令中?
我们已尝试更新到 XCode 15.4,但我们正在使用第三方的 VM 来运行我们的 CI 部署,因此我们仅限于 15.2 版本。
一些解决方案建议 source="$(readlink "${source}")"
在 pods-XXX-frameworks 文件的行中添加 \'-f \',但它已经存在了。