(React Native) Expo: Turtle CLI を使用してビルドする
説明
アプリを Expo のサーバーに公開し、iOS App Store を構築する.ipa
そしてアンドロイド.aab
を使用して Expo プロジェクトからファイルタートル CLI.
前提条件
-
に基づいて、iOS 配布証明書と App Store プロビジョニング プロファイルを生成します。iOS コード署名ファイルの生成ガイド.
-
次の手順に従って Android キーストアを生成します。Android Studio ガイドによる Android コード署名.
-
できることを確認してくださいExpo プロジェクトを公開するローカル。
指示
-
でアプリを開きます ビットライズ。
-
クリック
メインページのボタン。 -
に行く コード署名とファイル タブ。
-
プロジェクトの iOS 配布証明書と App Store プロビジョニング プロファイルがアップロードされていることを確認します。
そうでない場合は、
そしてその 、 それぞれ。 -
プロジェクトの Android キーストア ファイルがアップロードされていることを確認します。
そうでない場合は、キーストア ファイルをAndroid キーストア ファイルセクション。
のフィールド -
に行く シークレット タブ。
-
シークレットの作成 (
IOS_DEVELOPMENT_TEAM
) プロジェクトの証明書とプロビジョニング プロファイルで発行された iOS 開発チームの ID を使用します。 -
公開に使用する Expo アカウントのユーザー名とパスワードを保存します。
EXPO_USERNAME
とEXPO_PASSWORD
シークレット. -
に移動します bitrise.yml タブ。
-
コピーペースト
envs
からbitrise.yml
以下をワークフローに追加します。 -
コピーペースト
steps
からbitrise.yml
以下をワークフローに追加します。構築された
.ipa
と.aab
ファイルは経由で公開されますBITRISE_IPA_PATH
とBITRISE_AAB_PATH
環境変数。
bitrise.yml
turtle_build: envs: - KEYSTORE_PATH: /tmp/keystore.jks - KEYSTORE_ALIAS: $BITRISEIO_ANDROID_KEYSTORE_ALIAS - EXPO_ANDROID_KEYSTORE_PASSWORD: $BITRISEIO_ANDROID_KEYSTORE_PASSWORD - EXPO_ANDROID_KEY_PASSWORD: $BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD - PROFILE_PATH: /tmp/profile.mobileprovision - CERTIFICATE_PATH: /tmp/certificate.p12 - EXPO_IOS_DIST_P12_PASSWORD: $BITRISE_CERTIFICATE_PASSPHRASE # Define these in your secrets - IOS_DEVELOPMENT_TEAM: $IOS_DEVELOPMENT_TEAM - EXPO_USERNAME: $EXPO_USERNAME - EXPO_PASSWORD: $EXPO_PASSWORD steps: - script@1: title: Install dependencies inputs: - content: |- #!/usr/bin/env bash set -ex node --version fastlane --version npm install -g turtle-cli turtle --version npm install -g expo-cli expo --version - file-downloader@1: title: Download Android Keystore inputs: - destination: $KEYSTORE_PATH - source: $BITRISEIO_ANDROID_KEYSTORE_URL - file-downloader@1: title: Download iOS Certificate inputs: - destination: $CERTIFICATE_PATH - source: $BITRISE_CERTIFICATE_URL - file-downloader@1: title: Download iOS Provisioning Profile inputs: - destination: $PROFILE_PATH - source: $BITRISE_PROVISION_URL - npm@1: title: Install project dependencies inputs: - command: install - set-java-version@1: title: Set Java version to Java 8 inputs: - set_java_version: "8" - script@1: title: Run Expo publish inputs: - content: |- #!/usr/bin/env bash set -ex expo login -u $EXPO_USERNAME -p $EXPO_PASSWORD --non-interactive expo publish - script@1: title: Run Turtle build inputs: - content: |- #!/usr/bin/env bash set -ex turtle setup:android aab_path=$BITRISE_DEPLOY_DIR/expo-project.aab turtle build:android --type app-bundle --keystore-path $KEYSTORE_PATH --keystore-alias $KEYSTORE_ALIAS -o $aab_path envman add --key BITRISE_AAB_PATH --value $aab_path turtle setup:ios ipa_path=$BITRISE_DEPLOY_DIR/expo-project.ipa turtle build:ios --team-id $IOS_DEVELOPMENT_TEAM --dist-p12-path $CERTIFICATE_PATH --provisioning-profile-path $PROFILE_PATH -o $ipa_path envman add --key BITRISE_IPA_PATH --value $ipa_path