اذهب إلى المحتوى

السؤال

نشر

أنا أواجه مشكلة حيث يعمل تطبيقي بشكل جيد عند البناء عبر Xcode، ولكنه يفشل عندما أحاول بناء وأرشفة التطبيق باستخدام Fastlane و CI/CD على GitHub Actions. رسالة الخطأ التي أتلقيها هي:

فشل الأرشفة الأوامر التالية فشلت: PhaseScriptExecution [CP-User]\ [Hermes]\ Replace\ Hermes\ for\ the\ right\ configuration,\ if\ needed /Users/runner/Library/Developer/Xcode/DerivedData/APPNAME-dhmvujzeuvlrpkgehknleoptcblx/Build/Intermediates.noindex/ArchiveIntermediates/APPNAME/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/hermes-engine.build/Script-46EB2E000306D0.sh (في الهدف 'hermes-engine' من المشروع 'Pods') أرشفة مساحة العمل APPNAME مع المخطط APPNAME (فشلان)

هذا ملف YAML لخط الأنابيب CI/CD:

 

name: Build & submit to stores
on:
  workflow_dispatch:

env:
  DEV_BRANCH: 'staging'

jobs:
  build-ios:
    name: Build IOS
    runs-on: macos-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v1

      - name: Set up Xcode 16.0
        uses: maxim-lobanov/setup-xcode@v1
        with:
          xcode-version: latest-stable

      - name: Clear Derived Data
        run: rm -rf ~/Library/Developer/Xcode/DerivedData    

      # Clear the build folder to ensure a fresh build
      - name: Clear Build Folder
        run: rm -rf ios/build

      - name: Clear Pod Cache
        run: rm -rf ~/Library/Caches/CocoaPods/*

      - name: Update CocoaPods
        run: gem install cocoapods 

      - name: Setup Node
        uses: actions/setup-node@v2
        with:
          node-version: '20.16.0'

      - name: Cache node_modules
        id: modules-cache
        uses: actions/cache@v3
        with:
          path: ./node_modules
          key: ${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }}

      - name: Install Deps if necessary
        if: steps.modules-cache.outputs.cache-hit != 'true'
        shell: bash
        run: yarn install --ignore-scripts && yarn env

      - name: Cache Pods
        uses: actions/cache@v3
        id: pods-cache
        with:
          path: ./ios/Pods
          key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }}

      - name: Install pods
        if: steps.pods-cache.outputs.cache-hit != 'true'
        shell: bash
        run: |
          cd ios/
          rm -rf Pods Podfile.lock
          pod install --repo-update
          cd ..
      - name: Prepare and build IOS (Dev version)
        if: github.ref_name == env.DEV_BRANCH
        run: cd ios/ && fastlane prepare && fastlane beta
        env:
          FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
          FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}
          P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
          KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
          ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD: false
          APP_IDENTIFIER: 'com.APPBUNDEL'
      - name: Prepare and build IOS
        if: github.ref_name != env.DEV_BRANCH
        run: cd ios/ && fastlane prepare && fastlane beta
        env:
          FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
          FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}
          P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
          KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
          ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD: false
          APP_IDENTIFIER: ${{ github.ref_name }}

 

أنا أستخدم React Native 0.74، وقبل التحديث كان هذا الكود يعمل بشكل جيد. لقد قمت فقط بتغيير بعض إعدادات البيئة مثل إصدار Node وXcode.

Recommended Posts

  • 0
نشر

 أولاً قم بتجربة حذف الملف التالي:

ios\.xcode.env.local

ثم احذف مجلد  Pods  وملف Podfile.lock.

ثم أضف التالي لملف package.json لعرض رسالة الخطأ بشكل أوضح:

"ios": "react-native run-ios --verbose"

إن استمرت المشكلة حاول تحديث node.js وnpm وإن استمرت قم بتحديث xcode.

إن استمرت المشكلة حاول تجربة إضافة الخطوط التالية إلى ملف Fastfile 

lane :prepare do

  # إعداد Hermes
  hermes = 'hermes-engine'
  sh "cd #{hermes} && pod install"
  sh "cd #{hermes} && bundle exec pod install"
end

في حال المشكلة لا تزال موجودة، قم بمحاولة حذف ملف DerivedData يدويًا قبل بناء التطبيق:

rm -rf ~/Library/Developer/Xcode/DerivedData

أو  إضافة التالي إلى ملف YAML:

- name: Clear Derived Data
  run: rm -rf ~/Library/Developer/Xcode/DerivedData

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...