macOS 用 Objective-C または Swift アプリのビルド

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

詳細については、サポートタイムラインと代替手段に関するページを参照してください。

最初の Mac アプリのビルドを開始するには、次の手順を実行します。

  1. リポジトリ サービス アカウント (GitHub、Bitbucket、VSTS、Azure DevOps) に接続します。
  2. アプリが保存されているリポジトリとブランチを選択します。
  3. ビルドのプロジェクトまたはワークスペースと、ビルドするスキームを構成します。

注意

アプリを配布するには、ビルドを証明書でコード署名する必要があります。 プロビジョニング プロファイルは省略可能です。 さらに、Mac インストーラー用のビルドは現在サポートされていません。

1. リポジトリのリンク

リポジトリ サービス アカウントに接続する必要があります。 アカウントが接続されたら、Mac プロジェクトが配置されているリポジトリを選択します。 リポジトリのビルドを設定するには、それに対する管理者とプルのアクセス許可が必要です。

2. ブランチの選択

リポジトリを選択したら、ビルドするブランチを選択します。 既定では、すべてのアクティブなブランチが一覧表示されます。

3. 最初のビルドを設定する

最初のビルドの前に、Mac プロジェクトを構成する必要があります。

3.1. プロジェクト/ワークスペースとスキーム

ビルド構成の場合は、Xcode プロジェクトまたは Xcode ワークスペースと共有スキームが必要です。 App Center は、ブランチ内のプロジェクト、ワークスペース、共有スキームを自動的に検出します。 ビルドするプロジェクトまたはワークスペースと対応するスキームを選択します。

スキームが見つからない場合は、ビルドするスキームが共有されていることを確認し、スキームのコンテナーが選択したプロジェクトまたはワークスペースのいずれかであることを確認します。 また、ビルドを設定するブランチにこれらの変更がチェックインされていることを確認します。

スキームを共有としてする

3.2. Xcode バージョン

ビルドを実行する Xcode バージョンを選択します。

3.3 ビルド トリガー

既定では、開発者が構成されたブランチにプッシュするたびに、新しいビルドがトリガーされます。 これは"継続的インテグレーション" と呼ばれます。 新しいビルドを手動でトリガーする場合は、ビルド構成でこの設定を変更できます。

3.4. ビルド番号をインクリメントする

有効にすると、 CFBundleVersion アプリの Info.plist の がビルドごとに自動的にインクリメントされます。 変更はビルド前に行われ、リポジトリにコミットされません。

3.5. テスト

選択したスキームにテスト ターゲットが選択されたテスト アクションがある場合は、各ビルドの一部として実行するようにテストを構成できます。 現在、App Center では XCTest 単体テストを実行できます。 App Center では、Mac ビルドの起動テストはサポートされていません。

3.6. コード署名

ビルドが成功すると、ファイルが .app 生成されます。 ビルドをデバイスにインストールするには、署名された証明書が必要です。 ブランチから生成されたビルドに署名するには、構成ウィンドウでコード署名を有効にし、 有効な証明書 (.p12) と証明書のパスワードをアップロードします。 Xcode プロジェクトの設定は、アップロードするファイルと互換性がある必要があります。 プロビジョニング プロファイルは、コード署名では省略可能です。

現在、App Center では次の署名構成のみがサポートされています。

  • 開発証明書のみを使用した開発エクスポート方法を使用した手動署名
  • 開発者 ID エクスポート方法を使用した手動署名
  • 開発エクスポート方法を使用した自動署名

コード署名の詳細については、 App Center の macOS コード署名ガイド、Apple 開発者向け公式ガイドを参照してください

3.7. CocoaPods

App Center は選択したブランチをスキャンし、Podfile が見つかると、すべてのビルドの開始時に自動的にステップが実行 pod install されます。 これにより、すべての依存関係が確実にインストールされます。

リポジトリに 既に /Pods フォルダーが含まれている場合、App Center ではリポジトリ内のポッドをチェックイン済みであると見なされ、 は実行 pod installされなくなります。

3.8. 配布グループに配布する

ブランチから正常に署名された各ビルドを、以前に作成した配布グループに配布するように構成できます。 [配布] セクション内から新しい配布グループを追加できます。 アプリにアクセスできるすべてのユーザーを含む、"コラボレーター" という名前の既定の配布グループが常に存在します。

構成を保存すると、新しいビルドが自動的に開始されます。

4. ビルド結果

ビルドがトリガーされると、次の状態になります。

  • queued - リソースが解放されるのを待って、ビルドがキューに入れられます。
  • building - ビルドで定義済みのタスクが実行されています。
  • succeeded - ビルドが正常に完了しました。
  • failed - ビルドでエラーが見つかり、完了できませんでした。 ビルド ログをダウンロードして調べることで、ビルドのトラブルシューティングを行うことができます。
  • canceled - ユーザー アクションによってビルドが取り消されたか、タイムアウトしました。

4.1. ビルド ログ

完了したビルド (成功または失敗) の場合は、ログをダウンロードして、ビルドの実行方法の詳細を理解します。 App Center には、次のファイルを含むアーカイブが用意されています。

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

ビルド ステップ固有のログ (アーカイブのディレクトリにあります build ) は、トラブルシューティングと、ビルドが失敗した手順と理由を理解するのに役立ちます。

4.2. アプリ (.app)

このファイルは .app 、Mac アプリを含む Mac アプリケーション アーカイブ ファイルです。

  • ビルドが正しく署名されている場合は、 .app 署名時に使用されるプロビジョニング プロファイルに対応するデバイスにファイルをインストールできます。 App Center でのコード署名と配布の詳細については、 App Center の macOS コード署名に関するドキュメントを参照してください
  • ビルドが署名されていない場合は、 .app 開発者がファイルに署名できます。 たとえば、codesign を使用します。

4.3. シンボル ファイル (.dsym)

ファイルには .dsym 、アプリのデバッグ シンボルが含まれています。

  • クラッシュ レポート モジュールを有効にしてアプリに App Center SDK を追加した場合、クラッシュ レポート サービスでは、人間が読み取り可能な (シンボリック化された) クラッシュ レポートを表示するために、ビルドにこの .dsym ファイルが必要です。
  • HockeyApp SDK など、アプリでクラッシュ レポート用の別の SDK を追加した場合、サービスでは、人間が判読できるクラッシュ レポートを表示するファイルが必要 .dsym です。

コードが に.app署名しても、ファイルは.dsym変更されません。 後でビルドにコード署名を行う場合、コード署名前に .dsym 生成された は引き続き有効です。

内部をビルドする

プロジェクトをビルドするには、 を使用 xcodebuildします。これは、Xcode プロジェクトとワークスペースのビルド、クエリ、分析、テスト、アーカイブを行うコマンドライン ツールです。

サポートされているバージョンと要件

新しいバージョンの macOS が追加されるたびに、ビルド マシンのバージョンの詳細が更新されます。 ビルド VM には、できるだけ早く Apple によってリリースされた最新バージョンが含まれています。