ios - Swift Github Action CocoaPods 构建失败并出现“Framework not found Pods_iosapp”
问题描述
我有一个简单的工作流定义来进行 Xcode 工作区构建和测试:
name: Swift iOS application
on: pull_request
jobs:
test:
name: Test
runs-on: macOS-latest
strategy:
matrix:
destination: ['platform=iOS Simulator,id=DEC5E859-67C9-4939-87A5-E749D824E541', 'platform=iOS Simulator,id=458AD46E-58ED-4016-875A-70965C6EC869']
steps:
- name: Checkout
uses: actions/checkout@master
- name: Build and Test
run: |
ls -al
pod install --repo-update --clean-install
ls -al
echo "destination=${destination}"
xcodebuild clean test -workspace iosapp.xcworkspace -scheme iosapp -destination "${destination}" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO
env:
destination: ${{ matrix.destination }}
build 命令在我的笔记本电脑上本地成功,但在 Github Actions 运行时失败。这是更多错误上下文:
Ditto /Users/runner/Library/Developer/Xcode/DerivedData/iosapp-emrlpxjejtcsbjdrjgmowfxebepf/Build/Products/Debug-iphonesimulator/iosapp.swiftmodule/i386-apple-ios-simulator.swiftdoc /Users/runner/Library/Developer/Xcode/DerivedData/iosapp-emrlpxjejtcsbjdrjgmowfxebepf/Build/Intermediates.noindex/iosapp.build/Debug-iphonesimulator/iosapp.build/Objects-normal/i386/iosapp.swiftdoc (in target 'iosapp' from project 'iosapp')
cd /Users/runner/runners/2.165.2/work/ios-app/ios-app
/usr/bin/ditto -rsrc /Users/runner/Library/Developer/Xcode/DerivedData/iosapp-emrlpxjejtcsbjdrjgmowfxebepf/Build/Intermediates.noindex/iosapp.build/Debug-iphonesimulator/iosapp.build/Objects-normal/i386/iosapp.swiftdoc /Users/runner/Library/Developer/Xcode/DerivedData/iosapp-emrlpxjejtcsbjdrjgmowfxebepf/Build/Products/Debug-iphonesimulator/iosapp.swiftmodule/i386-apple-ios-simulator.swiftdoc
Testing failed:
Test session results, code coverage, and logs:
Command MergeSwiftModule failed with a nonzero exit code
Framework not found Pods_iosapp
Testing cancelled because the build failed.
** TEST FAILED **
最后这是我的 Podfile,没什么特别的:
# Uncomment this line to define a global platform for your project
platform :ios, '12.0'
target 'iosapp' do
pod 'BMSCore', '~> 2.6.0'
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for iosapp
target 'iosappTests' do
inherit! :search_paths
# Pods for testing
end
end
target 'iosappUITests' do
inherit! :search_paths
# Pods for testing
end
有谁明白为什么它会因为这个错误而失败?
解决方案
您需要将参数写在双引号下,例如:
xcodebuild clean test -workspace "iosapp.xcworkspace"
推荐阅读
- java - 删除项目,并在稍后将这些已删除的项目添加回 List 的相同索引处
- hadoop - Docker Swarm 上的 Hadoop 访问 DataNode 的问题
- c# - 如何在 ASP.Net Core 中设置模拟 OAuthAuthorizationServerOptions (Microsoft.Owin.Security)?
- dotnet-test - 生成 .json 格式的 xUnit 测试结果
- jquery - 如何修复 jquery 数据表中的右列?
- java - 无法在 Weblogic 服务器上使用 Fileupload Multipart
- dart - 创建了一个类以在 dart 中生成一个框小部件。通过颜色的问题
- javascript - DateTimePicker 不显示值
- c++ - 无法在 SDL2 中加载 png 图像
- java - 可以在 QueryDSL 上使用 Select 进行更新吗?如何?