fastlaneを久しぶりに触った。今日学んだこと。
fastlaneの二要素認証に変更あり
AppStoreにビルドしたアプリをアップロードする際、二要素認証が必要となる。
かなり以前に、fastlaneのApplicationSpecificPassword
を作成していたが、いつの間にか利用できなくなり、1ヶ月に一度くらいの間隔で、SMS認証をしていた。
いい加減、煩わしくなったので、App Store Connect API 認証方式に切り替えた際に詰まったことが今日学んだこと。
api_keyのパラメータとしてハッシュ渡しではない
以下の実装ではNGだった。
1
2
3
4
5
6
7
8
9
10
11
12
| lane :release do
upload_to_testflight(
api_key: {
key_id: "D383SF739",
issuer_id: "6053b7fe-68a8-4acb-89be-165aa6465141",
key_filepath: "./AuthKey_D383SF739.p8",
duration: 1200, # optional (maximum 1200)
in_house: false # optional but may be required if using match/sigh
},
changelog: changelog
)
end
|
具体的な実装方法
app_store_connect_api_keyを利用した上で、戻り値を利用して、オプションとして渡す方法にした。
1
2
3
4
5
6
7
8
9
10
11
12
13
| lane :release do
api_key = app_store_connect_api_key(
key_id: "D383SF739",
issuer_id: "6053b7fe-68a8-4acb-89be-165aa6465141",
key_filepath: "./AuthKey_D383SF739.p8",
duration: 1200, # optional (maximum 1200)
in_house: false # optional but may be required if using match/sigh
)
upload_to_testflight(
api_key: api_key,
changelog: changelog)
end
|
参考:Use return value and pass in as an option
ドキュメントを読んでいる限り、あらかじめJsonを作成してそれを読みこます方法でもいけそうではある。