iOSアプリのUDID追加作業を世界から撲滅する1コマンド

DeployGate
4 min readDec 24, 2015

--

iOSアプリ開発者のみなさん、こんにちは!そうじゃないみなさんもこんにちは!

最近ベイブレードバーストが気になっているhentekoです!

iOSアプリ開発でのUDID追加作業はとてもめんどう

iOSアプリを開発していて、AdHocビルドを配信している方はわかると思うのですが、端末の追加ってすっごくめんどくさいですよね

これまでのDeployGateでもUDIDの取得は簡単にできたのですが、そのUDIDを追加するには多くの手順を踏まないといけませんでした。

  1. 追加したいUDIDを入手する (ちなみに最近UDID一覧が便利になりました)
  2. Apple DeveloperのMember Centerにアクセスする
  3. Deviceに対象のUDIDを入力して追加する
  4. Provisioning Profileを編集して対象のDeviceを追加し作成し直す
  5. 作成し直したProvisioning Profileをローカルにインストールする
  6. Xcodeなどで再アーカイブする

この手順を端末が増えるたびに行わないといけません。とはいえ毎日やるわけでもないので手順を忘れやすく、毎回方法をググっては何度か試行錯誤しないとうまくいかなかったりしてつらい。

「新しい端末追加しといて」って言うだけでやってくれる職人が求められています。

端末追加を代わりにやってくれるコマンドを作りました

というわけで作りました。

add-devices_3.gif

新しい端末を通知するメールを受け取ったら、iOSプロジェクトルートのディレクトリで dg add-devices と叩けば、あとはうまいことやってくれます。

add-devices コマンドは、現在絶賛開発中のdgコマンドのv0.1.1より追加された新しいコマンドで、以下のことを行ってくれます。

  1. 実行すると対象アプリの追加すべきUDIDを表示して、対話的に追加するか聞いてくる (複数あるときはどれを追加する?と聞いてきます)
  2. UDIDをDeveloper Centerに登録し、Provisioning Profileを更新し、ダウンロードしてインストールする
  3. 新しいProvisioning Profileでアプリを再ビルドしてDeployGateへアップロードする

上で説明した6ステップを1コマンドで、しかも対話的に実行してくれるのが、この add-devices コマンドです。

実行は簡単です。iOSアプリのプロジェクト直下で以下のようにコマンドを実行するだけです。事前の設定は不要です。

$ dg add-devices

これだけで、自動でUDIDの追加が完了したIPAファイルをDeployGateへアップロードしてくれます。

とても簡単ですよね ;)

ちなみにこれらは以前より引き続き、fastlaneのSpaceshipsighなどで実現されています。

add-devicesのオプション

add-devicesにはいくつかオプションが存在しています。

詳しくは dg add-devices --help で見ることができるので、ここでは重要なオプションのみご紹介します。

特定のUDIDを新しく追加する

以下のコマンドで、特定のUDIDを新しく追加することができます。

$ dg add-devices --udid xxxxx --device-name iPhone6s-xxxxx

udid には追加したいUDIDを、 device-name にはそのUDIDに付けたい名前を指定してください。

これで特定のUDIDを追加して、DeployGateへの再アップロードも同時にすることができます。

さいごに

今回はdgコマンドの新しい機能、add-devicesについて紹介しました。

このadd-devicesでUDID追加が本当に簡単になりますので、是非ご利用ください!

DeployGate では、皆様のフィードバックをもとに日常的な改善を継続しております!何かありましたら Twitter (@deploygate_ja)や、フォーラムへご投稿ください。

また、 DeployGate 開発チームではエンジニアやUIデザイナーを募集してます! iOS/Android 開発で日常的に改善したくてできてないことが山積みな方、 DeployGate の UI もっとこうできるのになーと思われている方、謎の技術大好きな方が居ましたら、是非ご連絡ください。一緒に世界の開発現場をよりよくしていきましょう!

--

--

DeployGate

Accelerate your mobile app development with real feedback, instantly.