「Fastlane/セットアップ/ios」の版間の差分
提供: 初心者エンジニアの簡易メモ
行142: | 行142: | ||
fastlane renew_profiles | fastlane renew_profiles | ||
</pre> | </pre> | ||
+ | |||
+ | ==buildNumberのインクリメントから年月日番号へ== | ||
+ | <pre> | ||
+ | - increment_build_number(xcodeproj: "Unity-iPhone.xcodeproj") | ||
+ | + increment_build_number( | ||
+ | build_number: Time.now.strftime("%Y%m%d%H%M")) | ||
+ | </pre> | ||
+ | 参考:https://speakerdeck.com/starhoshi/ios-ga-fastlane-nara-android-mo-fastlane-nicheng-tutemiteha |
2023年10月30日 (月) 23:41時点における版
目次
iosでのセットアップ
Unity-iPhone.xcworkspaceがある場所に移動してから
$ fastlane init
What would you like to use fastlane for? 1. 📸 Automate screenshots 2. 👩✈️ Automate beta distribution to TestFlight 3. 🚀 Automate App Store distribution 4. 🛠 Manual setup - manually setup your project to automate your tasks
とりあえずTestFlightの自動化で、2を選択
Apple ID Username: Password: ******** Please enter the 6 digit code:
Apple IDや6codeなどを入れる
Multiple App Store Connect teams 1) "hoge inc" (122xxxxxx) 2) "hogetaro" (118xxxxxx) Multiple teams found on the Developer Portal, please enter the number of the team you want to use: 1) Nxxxxxxxxx "hoge inc" (Company/Organization) 2) 8xxxxxxxxx "hogetaro" (Individual)
teamsが複数あるときは、設定したいteamを選択
TestFlightへのベータ版配布を自動化
$ fastlane init What would you like to use fastlane for? 1. 📸 Automate screenshots 2. 👩✈️ Automate beta distribution to TestFlight 3. 🚀 Automate App Store distribution 4. 🛠 Manual setup - manually setup your project to automate your tasks
2を選択
出力ファイル
fastlane/Appfile
app_identifier("com.example.xxxxx) # The bundle identifier of your app apple_id("hogexxxx@example.com") # Your Apple Developer Portal username itc_team_id("118xxxxxxxx") # App Store Connect Team ID team_id("8xxxxxxxxxxxx") # Developer Portal Team ID
↑データはフィルタリングしてある
fastlane/Fastfile
default_platform(:ios) platform :ios do desc "Push a new beta build to TestFlight" lane :beta do increment_build_number(xcodeproj: "Unity-iPhone.xcodeproj") build_app(workspace: "Unity-iPhone.xcworkspace", scheme: "Unity-iPhone") upload_to_testflight end end
appleでfastlane用アプリパスを生成
- https://appleid.apple.com/account/manage
- アプリ用パスワード
- アプリ名は、何でも良いが、とりあえず、fastlaneとし、パスワードを生成する
axxx-xxxx-xxxx-xxxx
fastlane用設定追加
fastlane/.env.default
FASTLANE_USER=hogehoge@exampl.com(appleのid) FASTLANE_PASSWORD=(appleのパス) FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=axxx-xxxx-xxxx-xxxx
FASTLANE_PASSWORDは、なくても配信はできる。
TestFlightへアップロード
fastlane beta
Fastfile内に、increment_build_numberがあるので、実行のたびにCFBundleVersionが+1される
アップロードエラー
1.35.0のバージョンは既にリリースされてるので、別のバージョンにする。
ERROR: [ContentDelivery.Uploader] Asset validation failed (90186) Invalid Pre-Release Train. The train version '1.35.0' is closed for new build submissions [00:28:47]: ERROR: [ContentDelivery.Uploader] Asset validation failed (90062) This bundle is invalid. The value for key CFBundleShortVersionString [1.35.0] in the Info.plist file must contain a higher version than that of the previously approved version [1.35.0]. Please find more information about CFBundleShortVersionString at
AppStoreへの配布の自動化
$ fastlane init What would you like to use fastlane for? 1. 📸 Automate screenshots 2. 👩✈️ Automate beta distribution to TestFlight 3. 🚀 Automate App Store distribution 4. 🛠 Manual setup - manually setup your project to automate your tasks
3を選択
出力ファイル
fastlane/Appfile
app_identifier("com.example.xxxxx) # The bundle identifier of your app apple_id("hogexxxx@example.com") # Your Apple Developer Portal username itc_team_id("118xxxxxxxx") # App Store Connect Team ID team_id("8xxxxxxxxxxxx") # Developer Portal Team ID
↑データはフィルタリングしてある
fastlane/Fastfile
platform :ios do desc "Push a new release build to the App Store" lane :release do increment_build_number(xcodeproj: "Unity-iPhone.xcodeproj") build_app(workspace: "Unity-iPhone.xcworkspace", scheme: "Unity-iPhone") upload_to_app_store(skip_metadata: true, skip_screenshots: true) end end
ビルドしたファイル一覧取得
$ fastlane pilot builds
| 1.38.0 | 7 | 0 | | 1.36.0 | 6 | 0 | | 1.38.0 | 4 | 1 | | 1.38.0 | 3 | 0 |
ios端末登録
nameは誰の端末かを判断する文字列で適当に決めて良い。udidはxcodeメニューのDevicesAndSimulatorsから確認できる。
fastlane run register_device name:"iPadPro1" udid:"0000xxxx-000xxxxxxxxxxxxx" fastlane renew_profiles
buildNumberのインクリメントから年月日番号へ
- increment_build_number(xcodeproj: "Unity-iPhone.xcodeproj") + increment_build_number( build_number: Time.now.strftime("%Y%m%d%H%M"))
参考:https://speakerdeck.com/starhoshi/ios-ga-fastlane-nara-android-mo-fastlane-nicheng-tutemiteha