GitHub

codesigndocを使ったコード署名ファイルの収集とエクスポート

codesigndocMac上にある Xcode/Xamarin Studioのアーカイブを整理し、生成されたアーカイブファイルを解析するオープンソースのツールです。このツールはXcodeもしくはXamarin Studioがアーカイブ時に使用したコード署名の設定を収集し、必要なコード署名ファイルのリストを表示します。さらにcodesigndocを使うことでこれらのファイルに対して検索や書き出し、アップロードの操作も行うことができます。

codesigndocでファイルを収集する

  1. Terminalを開きます
  2. 対象とするプロジェクトの種類に応じて適切なコマンドを実行します。
    • Xcodeのプロジェクトの場合:

      bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xcode.sh)"
      
    • Xamarinのプロジェクトの場合:

      bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xamarin.sh)"
      
  3. Finder.appを開き、プロジェクトの.xcodeprojもしくは.xcworkspaceのファイルをTerminalのコマンドラインにドラッグアンドドロップします。

codesigndocでBitriseにファイルをアップロードする

  1. 一度コード署名のファイルが収集できたら、codesigndocは次のようにファイルをアップロードするか確認してきます:

    Do you want to upload the provisioning profiles and certificates to Bitrise? [yes/no] :
    

    もしファイルをアップロードしたければyesと入力した上でEnterを押してください。

  2. Bitriseのあなたのアクセストークンを入力してください。

    Please copy your personal access token to Bitrise.
    (To acquire a Personal Access Token for your user, sign in with that user on bitrise.io,
    go to your Account Settings page, and select the Security tab on the left side.) :
    
  3. 収集したファイルの対象となるBitriseのプロジェクトを選択してください:

    Fetching your application list from Bitrise...
    Select the app which you want to upload the provisioning profiles
    Please select from the list:
    

これで完了です!

もしBitriseのiOS Auto Provisioningで自動プロビジョニングを使いたい場合は、収集するファイルは証明書のみで大丈夫です。これはcodesigndoc scanを実行するときに--certs-onlyフラッグを設定することでできます。

codesigndocをマニュアルでインストールし実行することもできます。詳しい情報はcodesigndocのReadmeを確認してください!

ベストプラクティス

一番正確な結果を得るにはcodesigndocを実行する際にリポジトリと同じ状態、言い換えればコードを、ビルドサーバーが確認したあとのように、git cloneした直後に得られる状態にしておくとよいでしょう。(例えば、.gitignoreに指定したファイルがMac上に残っている場合、それらはあなたのMac上にはあってリポジトリや別のMacでgit cloneしたものには含まれません。)

これらの理由から、一番いい結果を得るには次の方法をおすすめします:

  1. Mac上で(新たなディレクトリに)git cloneしただけのリポジトリを用意しておきます。

  2. codesigndocは(そのプロジェクトで普段つかっているディレクトリではなく)1で用意したディレクトリ上で実行します。

またcodesigndocは完全にアーカイブと書き出し(署名済みの.ipaファイルを作成できるまで)をXcode.app上で先に終えた後に実行してください。 これはXcode.appがIPAを書き出す間にバックグラウンドでプロファイルをダウンロードもしくはアップデートしている可能性があるためです。codesigndoc.ipaをXcodeから書き出した後に実行することで、全てのファイルを収集することができます。