LoginSignup
8
9

More than 5 years have passed since last update.

ProvisioningProfileはcupertino(+spaceship)を使って管理

Last updated at Posted at 2015-11-18

iOSアプリ開発では開発以外のところで色々と面倒なことがあります。

その課題の1つが端末が増えた時の対応で、作業内容は以下になります。

  • 1) 新しい端末のUDIDをAppleDevCenterに登録
  • 2) ProvisioningProfileを更新。
  • 3) 更新したファイルを自身のマシンやJenkinsのマシンに設置。

上記を手動でやるのは非常に面倒です。
そこで、上記の作業をcupertinoで自動化します。

自動化方法

1) 端末の登録

本来は以下で出来るはずなのだけど、現状出来ていない。

ios devices:add "Name"=UDID -u "userid" -p "password"

issueに書かれているが、修正されていない模様。
仕方がないので、issueに書いてあるfastlaneのspaceshipを利用する。

require 'spaceship'
Spaceship.login("user", "password")
Spaceship.device.create!(name: "NAME", udid: "UDID")

2) Provisioning Profileの更新

端末を登録したら、以下のコマンドで端末を登録したいProvisioning Profiles名と端末の情報を指定してProvisioningProfileを更新する。

iOS profiles:manage:devices:add ProvisioningProfileName "Name"=UDID -u "userid" -p "password"

3) Provisioning Profileのダウンロード

設定が全て終わったProvisioning Profileをダウンロードし、ファイルを上書きする。

  • 全てをダウンロードする場合
ios profiles:download:all -u "userid" -p "password" > /dev/null 2>&1
  • 指定してダウンロードする場合
ios profiles:download ProvisioningProfile Name -u "userid" -p "password" > /dev/null 2>&1

ダウンロードが出来たら、ファイルを上書きすればOK

mv *.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/

メモ

誰でも更新ができるようにJenkinsでjobを作る場合のメモを書いておく。

  • パスワードについては、環境変数としてパスワードをインジェクトを使ったりすると値が見えなくなるので良い。
  • 3)はJenkinsのjobがはしる全てのマシンで更新をかける必要があるので「マルチ構成プロジェクトのビルド」を利用するのが良い。
8
9
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
8
9