2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[iOS] fastlane register_devicesを使用して検証端末を追加する

Last updated at Posted at 2020-06-26

モチベーション

fastlaneを使用して,検証端末の登録を楽に行いたい.
特に,棚卸し時の業務を高速で行いたい.

課題

検証端末を追加する場合,都度depeloperサイトから1台ずつ登録している.

  1. 1年に1度の検証端末の棚卸しに時間がかかっている
  2. 開発メンバーや開発PCを追加する度に,メンバー自身がdepeloperサイトから登録する必要がある
  3. 新規検証端末を追加する度に,depeloperサイトから登録する必要がある

課題の解決方法

fastalne register_devicesを導入して解決する
導入後は,上記の課題が下記のように解決される

  • 指定のフォーマットでtxtを作成し,コマンドを実行する
  • 追加に成功したら,slackのチャンネルに端末の追加が知らされる

!depeloperサイトより,txtによって複数端末を一気に登録できます.本記事では,あくまでサイトにアクセスせずに完結することを目指したものです!

register_devicesの導入手順

fastfileの編集

fastfileにlaneを追加します
Tips. 個人ではなく,会社等のチームで使用する場合は,team_id は明記しておくとよいです.

Optional, if you"re a member of multiple teams, then you need to pass the team ID here.

https://docs.fastlane.tools/actions/register_devices/ より

desc "Register Devices"
lane :register_new_devices do
  # see the Apple Sample (http://devimages.apple.com/downloads/devices/Multiple-Upload-Samples.zip)
  register_devices(
    devices_file: "./fastlane/devices.txt",
    team_id: "ABCDEFGH"
  )
  match_after_register
end

desc "match_after_register"
lane :match_after_register do
  # 前回との差分を見て,新しいデバイスが追加されているなら新しくprovisioning profileを作成する
  match(type: "develop", force_for_new_devices: true)
  match(type: "adhoc", force_for_new_devices: true)
  slack(message: "<@hoge> 新しい端末が登録されました!")
end

sample_devices.txtの用意

http://devimages.apple.com/downloads/devices/Multiple-Upload-Samples.zip より,txtファイルをダウンロードします.
このうち,xxx-ios.txtのファイルをsample_devices.txtとしてfastlane/に配置します.
実際は,sample_devices.txtのフォーマットに従い,devices.txtを作成します.

sample_devices.txt
 Device ID	Device Name
 A123456789012345678901234567890123456789	NAME1
 B123456789012345678901234567890123456789	NAME2

Tips. .gitignoreに,fastlane/devices.txtを追加しておきましょう.本物のUUIDは公開する情報ではありません.
Tips. Makefileに,register_new_devicesが動作できるように追記しておくと楽です.また,READMEにも書いておくともっといいと思います.
Tips. Makefileに,1端末ずつ追加するregister_new_deviceを追加するものありです!

.PHONY: register_new_devices
register_new_devices:
	bundle exec fastlane register_new_devices

.PHONY: register_new_device
register_new_device:
	bundle exec fastlane run register_device
	bundle exec fastlane match_after_register

register_devicesの実行

下記コマンドによって,register_devicesを実行します
AppleIDを求められるので,メールアドレスを入力してください
Tips. team_idのようにusernameが存在しますが,チーム内でコンフリクトするので,都度入力する方がいいと思います.

 bundle exec fastlane register_new_devices
 or
 make register_new_devices

成功すれば,下記のように表示されます

 [00:27:06]: Running lane `register_new_devices`. Next time you can do this by directly typing `fastlane register_new_devices` 🚀.
 [00:27:06]: Driving the lane 'register_new_devices' 🚀
 [00:27:06]: ------------------------------
 [00:27:06]: --- Step: register_devices ---
 [00:27:06]: ------------------------------
 [00:27:07]: To not be asked about this value, you can specify it using 'username'
 [00:27:07]: Optional: Your Apple ID: xxx@yyy.com
 Available session is not valid any more. Continuing with normal login.
 [00:27:37]: Fetching list of currently registered devices...
 [00:27:37]: Successfully registered new devices.

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?