Невозможно собрать ios из реагирующего нативного приложения в действиях fastlane и github

Я хочу автоматизировать сборку версии IOS из собственного приложения React, используя fastlane и github actions. Я перешел по этой ссылке, чтобы установить файл .p12 certifcate и файл профиля обеспечения с расширением .mobileprovision. Однако, когда я запускаю быструю полосу действий на github, он правильно входит в систему Apple Connect, и все в порядке до шага build_app, где он выдает следующую ошибку: Error: No profiles for 'com.bimsaudi.atarcloud' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.bimsaudi.atarcloud'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'Atar' from project 'Atar')

Вот мой Fastfile:


default_platform(:ios)

platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
  setup_ci

  auth_key_path = File.expand_path(File.join(File.dirname(__FILE__), '**.p8'))

  app_store_connect_api_key({
    key_id: "<key_id>",
    issuer_id: "<issuer_id>",
    key_filepath: auth_key_path,
  })
  increment_build_number(xcodeproj: "Atar.xcodeproj")
  build_app(workspace: "Atar.xcworkspace", scheme: "Atar")
  upload_to_testflight
end

lane :check_provisioning_profiles do
  setup_ci
  auth_key_path = File.expand_path(File.join(File.dirname(__FILE__), '**.p8'))

  app_store_connect_api_key({
    key_id: "<key_id>",
    issuer_id: "<issuer_id>",
    key_filepath: auth_key_path,
  })

  sigh(username: "<apple-username>")
end
  
end

И вот мой .github/workflows/automation.yml файл:

name: Test CD
on:
  push:
  workflow_dispatch:

jobs:
  build-ios:
    name: Build IOS
    runs-on: macOS-14

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

      - name: Install the Apple certificate and provisioning profile
        env:
          BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
          P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
          BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
          KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
        run: |
          # create variables
          CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
          PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
          KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db

          # import certificate and provisioning profile from secrets
          echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
          echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH

          # create temporary keychain
          security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
          security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
          security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH

          # import certificate to keychain
          security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
          security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
          security list-keychain -d user -s $KEYCHAIN_PATH

          # apply provisioning profile
          mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
          cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles

      - name: Setup Node
        uses: actions/setup-node@v2
        with:
          node-version: '16.20.2'
          cache: 'yarn'

      - name: Install deps
        run: yarn --frozen-lockfile && yarn env

      - name: Install pods
        shell: bash
        run: cd ios/ && pod install && cd ..

      - name: Build IOS
        run: cd ios/ && fastlane ios check_provisioning_profiles && fastlane ios beta
        env:
          FASTLANE_USER: ${{ secrets.FASTLANE_USER }}
          FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }}
          FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }}
          # FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
249
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После долгих расследований и поисков. Я нашел решение здесь Проблема с Github

Я использовал match и отключил автоматическое подписание кода с помощью update_code_signing_settings и, наконец, использовал gym, как предлагалось по ссылке.

Другие вопросы по теме

Как перестать отображать новый файл в виде списка меню в маршрутизаторе Expo?
Метод установки useState не меняет мое состояние – реагировать на родной
Ошибка: исключение в HostObject::get для prop > «NativeUnimoduleProxy» — происходит сбой виртуального устройства Android (AVD) при использовании Expo для тестирования приложения React Native
React Native Expo IOS - невозможно использовать собственные шрифты, никакое исправление от Google не помогло
AsyncStorage не ждет с «then» в React Native
Почему Swift FileManager.default.urls(...) возвращает результат, отличный от реализации ObjC (симулятор iOS)?
DVTPlugInQuery: запрошена, но не найдена точка расширения с идентификатором «Xcode.InterfaceBuilderBuildSupport.PlatformDefinition»
Невозможно проверить первый сертификат в узле js
Ошибка: модуль «3» отсутствует в реестре активов при загрузке шрифтов
Удаленные изображения, созданные с помощью Expo для Android, не загружаются в производство