建置適用於 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.plistProduction-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,且不再執行 pod install。 如果您移除或修改 /Pods 資料夾,您可能需要手動使用 Save 或 重新儲存組建組態,更新 Save and Build 才會生效。

3.9. 散發至通訊群組

您可以將每個成功的組建從分支設定為發佈至先前建立的通訊群組。 您可以從 [散發] 區段內新增通訊群組。 一律有一個名為「共同作業者」的預設通訊群組,其中包含可存取應用程式的所有使用者。

儲存設定之後,系統會自動啟動新的組建。

4.建置結果

觸發建置之後,它可以處於下列狀態:

  • queued - 組建已排入佇列,等候資源釋放。
  • building - 組建正在執行預先定義的工作。
  • 成功 - 建置已完成且成功。
  • failed - 建置已完成,但失敗。 您可以 藉由檢查組建記錄來針對發生錯誤的問題進行疑難解答。
  • 已取消 - 組建已由用戶動作取消,或逾時

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 可用來產生 .ipa 具有 Xcode 封存組織者的檔案的檔案。
  • 如果組建正確簽署, .ipa 檔案可以安裝在與簽署時所使用的布建配置檔對應的實際裝置上。 如需有關 App Center 程式代碼簽署和散發的詳細資訊,請參閱 App Center 的 iOS 程式代碼簽署檔
  • 如果尚未簽署組建, .ipa 開發人員 ( (可以簽署檔案,例如使用codeign) 或用於其他用途 (,例如,上傳至測試服務以進行實際裝置上的UI測試,或在模擬器) 中執行。

4.3. 符號檔案 (.dsym)

檔案 .dsym 包含應用程式的偵錯符號。

  • 如果您先前已將App Center SDK與已啟用當機報告模組整合,當機報告服務需要此 .dsym 檔案,組建才能顯示人類可讀取的 (符號式) 當機報告。
  • 如果您先前已將另一個 SDK 整合到應用程式中的當機報告用途,例如 HockeyApp SDK () ,則對應的服務會要求 .dsym 檔案顯示人類可讀取的當機報告。

請記住,在 .dsym 簽署 .ipa的程式代碼時,檔案不會變更。 如果您稍後決定程式代碼簽署組建, .dsym 則程式代碼簽署之前產生的 仍然有效。

支援的版本和需求

每次新增新版本的 Xcode 時,都會更新組建機器 Xcode 版本詳細數據。 我們會留意 Apple 發行的最新版本,並在用來執行組建的 VM 上儘快納入這些版本。