xcode - Github Actions - PhaseScriptExecution React-Native 0.66.1
问题描述
我有一个用 React-Native 制作的应用程序,在我的本地机器上编译时它运行良好。
- macOS BigSur 11.6
- Xcode 版本 13.1 (13A1030d)
- 反应原生 0.661。
我试图在 Github Actions 上运行相同的应用程序,但没有成功。
set -o pipefail &&
xcodebuild -workspace ios/appcardview.xcworkspace \
-scheme appcardview \
-destination 'generic/platform=iOS' \
-archivePath appcardview.xcarchive \
DEVELOPMENT_TEAM='XXXXXXXXXXXX' \
clean archive | xcpretty
▸ Clean Succeeded
▸ Running script '[CP] Copy XCFrameworks'
** ARCHIVE FAILED **
The following build commands failed:
PhaseScriptExecution [CP]\ Copy\ XCFrameworks /Users/runner/Library/Developer/Xcode/DerivedData/appcardview-gbsbuuvggegwokbqlthgedyztsge/Build/Intermediates.noindex/ArchiveIntermediates/appcardview/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/EXUpdates.build/Script-8D1D31EE8FEE93613FADF92E1FC99890.sh (in target 'EXUpdates' from project 'Pods')
(1 failure)
Error: Process completed with exit code 65.
这是我的操作文件的一部分。我只放了相关部分。
name: iOS - Staging
on:
workflow_dispatch:
push:
branches:
- master
env:
DEVELOPER_DIR: /Applications/Xcode_12.5.1/Contents/Developer
TMP_KEYCHAIN_PASSWORD: ${{ secrets.TMP_KEYCHAIN_PASSWORD }}
TMP_P12_PASSWORD: ${{ secrets.TMP_P12_PASSWORD }}
jobs:
build:
runs-on: macos-11
env:
GITHUB_REPOSITORY: ${{ github.repository }}
ENVIRONMENT: production
AWS_REGION: sa-east-1
strategy:
matrix:
node-version: [12.17.0]
steps:
- uses: actions/checkout@v2
- name: Using Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install NPM dependencies if not cached
run: |
npm install
- name: Install Bundle IOS if not cached
working-directory: ./ios
run: |
bundle install
- name: Install Pods if not cached
run: |
cd ios
pod install
- name: Create-Keychain
run: |
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
security create-keychain -p "${{ env.TMP_KEYCHAIN_PASSWORD }}" $KEYCHAIN_PATH
- name: Install keychain certificates
run: |
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
security list-keychains -s $KEYCHAIN_PATH
security default-keychain -s $KEYCHAIN_PATH
security unlock-keychain -p "${{ env.TMP_KEYCHAIN_PASSWORD }}" $KEYCHAIN_PATH
security import ios/deploy/FF2H7P5JFK.p12 -P "${{ env.TMP_P12_PASSWORD }}" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security import ios/deploy/FF2H7P5JFK.cer -k ${KEYCHAIN_PATH}
security import ios/deploy/C5BFYTTL8L.p12 -P "${{ env.TMP_P12_PASSWORD }}" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security import ios/deploy/C5BFYTTL8L.cer -k ${KEYCHAIN_PATH}
security set-key-partition-list -S apple-tool:,apple: -s -k "" $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
UUID=`/usr/libexec/PlistBuddy -c 'Print :UUID' /dev/stdin <<< $(security cms -D -i ios/deploy/Development_com.qgx.baas.canalfacil.mobileprovision)`
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp $MOBILE_PROVISION ~/Library/MobileDevice/Provisioning\ Profiles/$UUID.mobileprovision
UUID=`/usr/libexec/PlistBuddy -c 'Print :UUID' /dev/stdin <<< $(security cms -D -i ios/deploy/AppStore_com.qgx.baas.canalfacil.mobileprovision)`
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp $MOBILE_PROVISION ~/Library/MobileDevice/Provisioning\ Profiles/$UUID.mobileprovision
- name: Select Xcode
run: sudo xcode-select -switch /Applications/Xcode_12.5.1.app
- name: Build App
run: |
set -o pipefail &&
xcodebuild -workspace ios/appcardview.xcworkspace \
-scheme appcardview \
-destination "" \
-archivePath appcardview.xcarchive \
DEVELOPMENT_TEAM="XXXXXXXXXXXX" \
clean archive | xcpretty
你能帮助我吗?
解决方案
推荐阅读
- swift - Xcode Swift 5 使用 AVfoundation 扫描条形码,如何在不停止或关闭视图的情况下暂停并添加按钮以恢复扫描
- c# - 为什么我的文本框随着 C#/VS2019 消失?
- spring - 如何在 Spring Rest 中接受和解析带有 Jackson 的 csv
- wordpress - 使用简码或可能通过 wordpress 钩子“after-cotent”或“after-footer”在 WordPress 帖子内容的末尾动态嵌入常见问题解答页面架构
- go - Send data in attachment as per data source
- c# - Elasticsearch NEST 从带有修复过滤器的搜索开始
- javascript - 如何删除数组内对象的值
- amazon-web-services - 使用 CloudWatch 监控 Guardduty 调查结果
- c# - 下拉的值应该被抛出,不能接受选择值
- python - 每次烧瓶服务器接收到发布请求时刷新名为路径的变量