生成适用于 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,并且将不再运行 pod install

3.8. 分发到通讯组

可以将分支中的每个成功签名的生成配置为分发到以前创建的通讯组。 可以从“分发”部分内添加新的通讯组。 始终有一个名为“协作者”的默认通讯组,其中包含有权访问应用的所有用户。

保存配置后,将自动启动新版本。

4. 生成结果

触发生成后,它可以处于以下状态:

  • queued - 生成已排队,等待资源可用。
  • 生成 - 生成正在运行预定义的任务。
  • succeeded - 生成已成功完成。
  • 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. 应用 (.app)

该文件 .app 是一个 Mac 应用程序存档文件,其中包含 Mac 应用。

  • 如果生成正确签名,则可以在 .app 与签名时使用的预配配置文件对应的设备上安装该文件。 有关使用 App Center 进行代码签名和分发的详细信息,请参阅 App Center 的 macOS 代码签名文档
  • 如果尚未对生成进行签名, .app 则开发人员可以对该文件进行签名。 例如,使用 codesign。

4.3. 符号文件 (.dsym)

这些文件 .dsym 包含应用的调试符号。

  • 如果在启用了崩溃报告模块的应用中添加了 App Center SDK,则崩溃报告服务需要此 .dsym 文件才能生成以显示人工可读 (符号化) 崩溃报告。
  • 如果你已在应用中添加了另一个 SDK 用于崩溃报告,例如 HockeyApp SDK,则服务需要 .dsym 该文件来显示可读的故障报告。

.dsym 进行代码签名时, .app文件不会更改。 如果决定稍后对生成进行代码签名,则 .dsym 代码签名前生成的 仍然有效。

生成内部

为了生成项目,我们使用 xcodebuild一个命令行工具,可用于生成、查询、分析、测试和存档 Xcode 项目和工作区。

支持的版本和要求

每次添加新版本的 macOS 时,都会更新生成计算机版本详细信息。 我们会尽快在生成 VM 上包括 Apple 发布的最新版本。