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

オープンソース codesigndoc ツールは、Mac上でクリーンなXcode / Xamarin Studioアーカイブを実行し、生成されたアーカイブファイルを分析します。 XcodeまたはXamarinStudioがアーカイブプロセス中に使用したコード署名設定を収集し、必要なコード署名ファイルのリストを出力します。これらのファイルを使用して、これらのファイルを検索、エクスポート、およびアップロードすることもできます。 codesigndoc

プロジェクトにUITestターゲットが含まれている場合、codesigndocはそれらもスキャンできます。それは実行されます xcodebuild build-for-testing 作成するアクション test-Runner.app、および必要なコード署名ファイルをエクスポートします。

codesigndocを使用してファイルを収集およびアップロードする

あなたが使用することができます codesigndoc にとって:

  • Xcodeプロジェクト。

アプリはネイティブiOSアプリである必要はありません。Flutterなどのサードパーティフレームワークで構築されたアプリでツールを使用できます。 .xcodeproj また .xcworkspace ファイル。

あなたはインストールすることができます codesigndocの最新バージョン シンプルなワンライナーを使用するか、使用する特定のバージョンを手動でダウンロードしてインストールできます。

以下の例では、ワンライナーを使用します。

  1. を開きます Terminal

  2. プロジェクトのフォルダーに移動します。

  3. プロジェクトの種類に応じて、適切なワンライナーコマンドを入力します。

    • のために Xcode 事業:

      bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-io/codesigndoc/master/_scripts/install_wrap-xcode.sh)"  
  4. ツールは自動的にプロジェクトをスキャンし、 .xcodeproj また .xcworkspace ファイルして残りを行います。

    スキャナーがファイルを見つけられない場合は、 Finder.app プロジェクトのをドラッグアンドドロップします .xcodeproj また .xcworkspace ターミナルのコマンドラインにファイルします。

  5. コード署名ファイルが収集されると、 codesigndoc ファイルをBitriseにアップロードするかどうかを尋ねられます。

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

    でファイルをアップロードしたい場合 codesigndoc、 タイプ yes を押して 入力

  6. 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.) :  

    パーソナルアクセストークン

  7. 収集されたファイルのターゲットとしてBitriseプロジェクトを選択します。

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

以上で完了です。

Automatic code signing asset management

For automatic code signing asset management, we recommend you use one of our code signing and building Steps:

インストールして実行することもできます codesigndoc 手動で。詳細については、 ツールのReadme

UITestターゲットのスキャン

XcodeプロジェクトにUITestターゲットがある場合は、codesigndocを使用して、必要なコード署名ファイルをエクスポートし、 .xctestrun ファイル。 Bitriseを使用して実際のデバイスでUIテストを実行する場合は、これを行う必要があります。 iOSデバイスのテスト ステップ。

  1. あなたが持っているスキームを持っていることを確認してください 有効なUITestターゲット それが有効になっています。

    Collecting and exporting code signing files with codesigndoc
    Collecting and exporting code signing files with codesigndoc
  2. を開きます Terminal

  3. ワンライナーを使用してスキャナーを起動し、必要なコード署名ファイルをエクスポートします。

    bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xcode-uitests.sh)"       

    このコマンドは、 xcodebuild build-for-testing UITestランナーの.appファイルを作成し、必要なコード署名ファイルをエクスポートするアクション。

  4. codesigndocを使用してファイルをBitriseにアップロードします。

UITestスキャナーのトラブルシューティング

UITestスキャナーが目的のスキームを見つけられない場合は、次の手順に従ってください。

  1. スキームがUITestの実行に有効であることを確認してください。

    実行が有効になっているUITestターゲットが含まれている必要があります。

  2. プロジェクト設定を更新します。

    • を選択 一般的なiOSデバイス Xcodeでのスキームのターゲット。

    • プロジェクトをクリーンアップします。 ⌘ Cmd + ↑ Shift + K

    • テスト用のビルドを実行します。 ⌘ Cmd + ↑ Shift + U

  3. 走る codesigndoc また。

codesigndocを手動でインストールして使用する

手動インストールでは、使用するcodesigndocのバージョンを指定できます。上記で使用したワンライナーとは異なり、手動インストールでは自動的に実行されません。 scan 使用するフォルダ内のコマンド:ツールをインストールするだけです。

で利用可能なバージョンを確認してください codesigndocのリリースページ 道具。

  1. を実行して、必要なリリースをダウンロードします curl 指図:

    注:VERSIONNUMBERを、必要なcodesigndocバージョンの実際の番号に置き換えてください。

    curl -sfL https://github.com/bitrise-io/codesigndoc/releases/download/VERSIONNUMBER/codesigndoc-Darwin-x86_64 > ./codesigndoc
  2. ダウンロードしたバイナリを実行可能にします。

    chmod +x ./codesigndoc
  3. いつでもスキャンコマンドを実行できます。

    ## Xcode scanner
    ./codesigndoc scan xcode
    
    ## Xcode project scanner for UI test targets
    ./codesigndoc scan xcodeuitests
    

codesigndocを使用するためのベストプラクティス

実行すると最も正確な結果が得られます codesigndoc クリーンアップ後に利用可能なリポジトリ/コードの同じ状態で git clone、ビルドサーバーがコードをチェックアウトした後のコードの状態になります(たとえば、Macにファイルがある可能性があります) .gitignore、したがって、Macには存在しますが、リポジトリには存在しません。 git clone 新しいMacの場合)。

したがって、最良の結果を得るには、次のことをお勧めします。

  1. きれいにする git clone Mac上のリポジトリの(新しいディレクトリへの)。

  2. 走る codesigndoc このディレクトリ内(通常プロジェクトで作業するディレクトリ内ではありません)。

また、最初にローカルマシンでIPAを生成して、実行することをお勧めします codesigndoc その後。その理由は、XcodeがIPAエクスポート中にバックグラウンドでプロファイルをダウンロードまたは更新する可能性があるためです。あなたが実行する場合 codesigndoc XcodeからIPAをエクスポートした後、 codesigndoc すべてのファイルを収集できるようになります。