iOS 用 Objective-C または Swift アプリの構築

重要

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

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

最初のネイティブ iOS アプリをビルドするには、次のアクションを実行する必要があります。

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

注意

実際のデバイスでアプリを実行するには、ビルドが有効なプロビジョニング プロファイルと証明書で署名されたコードである必要があります。

1. リポジトリのリンク

リポジトリ サービス アカウントにまだ接続していない場合は、接続を承認する必要があります。 アカウントが接続されたら、iOS プロジェクトが配置されているリポジトリを選択します。 App Center では、リポジトリのビルドを設定するための管理とプルアクセス許可がアカウントに付与されている必要があります。

2. ブランチの選択

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

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

最初のビルドの前に iOS プロジェクトを構成します。

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

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

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

ファイルをエクスポートしてプロジェクト内の .xcscheme 任意の場所に配置することはできません。 フォルダー内に存在する xcshareddata/xcschemes/ 必要があります。 このパスがファイル内にないことを確認します .gitignore

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

3.2. Xcode バージョン

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

3.3 ビルド トリガー

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

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

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

注意

ビルド番号の増分を機能させるには、 という名前を .plist file*Info.plist のように Production-Info.plist指定してください。

3.5. テスト

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

3.6. コード署名

実際のデバイス用の iOS アプリをビルドするには、有効な資格情報で署名する必要があります。 App Center でビルドに署名するには、構成ウィンドウでコード署名を有効にし、 プロビジョニング プロファイル (.mobileprovision) と有効な証明書 (.p12) と証明書のパスワードをアップロードします。

Xcode プロジェクトの設定は、アップロードするファイルと互換性がある必要があります。 コード署名の詳細については、 Apple Developer の公式ドキュメントを参照してください

アプリまたは watchOS 拡張機能を使用するアプリでは、拡張機能ごとに追加のプロビジョニング プロファイルを署名する必要があります。

3.7. 実際のデバイスで成功したビルドを起動する

新しく生成された .ipa ファイルを使用して、アプリが実際のデバイスで起動するかどうかをテストします。 実際のデバイスで起動すると、合計ビルド時間に約 10 分が追加されます。 起動テストを構成する方法の詳細を参照してください。

3.8. CocoaPods

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

警告

リポジトリに 既に /Pods フォルダーが含まれている場合、App Center では、リポジトリ内のポッドをチェックイン済みであると見なされ、 は実行 pod installされなくなります。 /Pods フォルダーを削除または変更する場合は、 または Save and Build を使用してSaveビルド構成を手動で再保存して更新を有効にする必要がある場合があります。

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

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

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

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. アプリ (.ipa)

ファイルは .ipa 、iOS アプリを含む iOS デバイス アプリケーション アーカイブ ファイルです。

  • 署名されていないビルドでは、ファイルは .ipa 生成されません。 署名されていないビルドの成果物は、 .xcarchive Xcode アーカイブ オーガナイザーでファイルを .ipa 生成するために使用できるファイルです。
  • ビルドが正しく署名されている場合は、 .ipa 署名時に使用されるプロビジョニング プロファイルに対応する実際のデバイスにファイルをインストールできます。 App Center でのコード署名と配布の詳細については、 App Center の iOS コード署名に関するドキュメントを参照してください
  • ビルドに署名されていない場合は、 .ipa 開発者がファイルに署名するか (たとえば、codesign を使用してローカルに)、または他の目的で使用できます (たとえば、実際のデバイスで UI テストを行う場合は Test サービスにアップロードするか、シミュレーターで実行します)。

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

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

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

に署名する .dsym コードでは、ファイルは変更されない点に .ipa注意してください。 後でビルドにコード署名を行う場合、コード署名前に .dsym 生成された は引き続き有効です。

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

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