阿里云首页 移动开发平台 mPaaS

iOS 发布管理

重要:自 2020 年 6 月 28 日起,mPaaS 停止维护 10.1.32 基线。请使用 10.1.6810.1.60 系列基线。可以参考 mPaaS 10.1.68 升级指南mPaaS 10.1.60 升级指南 进行基线版本升级。

发布管理是客户端升级新版本的配置后台,支持用户创建多任务、多维度的升级配置。

关于此任务

iOS 发布管理的功能包括以下方面:

  • 增加升级资源并提示 App 的下载二维码(仅限 企业分发)。
  • 创建、修改新版本资源包的任务。
  • 对已添加的发布包创建多种类型的发布任务,例如白名单灰度、时间窗灰度、正式发布。同一版本的升级包可以有多个发布任务。
  • 支持多种条件的升级过滤,例如城市、机型、设备系统版本、网络、发布包版本。

添加发布包

进入 mPaaS 控制台,完成以下步骤:

  1. 在左侧导航栏,点击 实时发布 > 发布管理,页面显示发布管理列表。
  2. 点击 + 添加发布包,在弹出的窗口中完成以下设置:
    • 平台:选择 iOS
    • 发布类型:分为 AppStore企业分发TestFlight,详见下方的说明。
      • AppStore:针对从 AppStore 下载的 App 提示升级。
      • 企业分发:针对在企业内部分发的 App 提示升级。
      • TestFlight:针对即将发布到 AppStore 的新版本做上线前的灰度验证。
  3. 点击 确定,完成添加,新添加的发布包会出现在页面的最上方。
  4. 在发布管理列表,点击发布包前的加号图标(add)查看升级包的发布任务:
    • 如果升级包未发布过,当前包的状态为 待发布,并且没有任何发布任务。
    • 如果升级包发布过,当前包的状态为最新任务的发布状态,并且有相关的发布任务。

AppStore

重要:要使用 AppStore 发布,您需要先在苹果官方 App Store 中上架您的 App。

当您选择 AppStore 为发布类型时,您需要输入以下信息:

ios-appstore

  • appstore 地址:您的 App 在 App Store 上的地址。
  • 版本号:发布包的版本号。
    注意:此版本号需与 iOS 工程 info.plist 文件中的 Product Version 字段保持一致。
  • 发布描述(选填):发布包的描述信息。

企业分发

当您选择 企业分发 为发布类型时,您需要选择或输入以下信息:

ios-enterprise

  • 上传图标(可选):可上传 .jpg.png 格式的图片作为图标。
  • 发布包:从本地选择发布包进行上传,只支持 .ipa 格式。
  • bundleId(选填):您的 App 的 bundleId,若不填则使用在代码配置页面下载配置文件时填写的 bundleId。
  • 版本号:发布包的版本号。
    注意:此版本号需与 iOS 工程 info.plist 文件中的 Product Version 字段保持一致。
  • 发布描述(选填):发布包的描述信息。
  • 下载验证:如开启该开关,则用户在扫描二维码后,需要通过验证码验证才能下载发布包。
    说明:添加 企业分发 类型的发布包后,在发布包列表页的 二维码 列中会生成一个下载 .ipa 发布包的二维码,扫描该二维码后,即可将发布包安装至手机。

TestFlight

重要
  • 要使用 TestFlight 测试功能,您必须已在 App Store Connect 中创建并启用了公开链接。
  • 只有在版本 ≥ 10.1.32 的客户端中才可使用 TestFlight。
  • 您输入的 包失效时间测试人员上限 必须与您在 App Store Connect 中设置的一致。

当您选择 TestFlight 为发布类型时,您需要输入以下信息:

ios-testflight

  • 公开链接地址:您在 App Store Connect 中创建的公开链接地址,需保证此链接是启用状态。
  • 包失效时间:TestFlight 包的失效时间,需与您在 App Store Connect 中设置的一致。
  • 测试人员上限:参与测试的人员上限,需与您在 App Store Connect 中设置的一致。
  • 版本号:发布包的版本号。
    注意:此版本号需与 iOS 工程 info.plist 文件中的 Product Version 字段保持一致。
  • 发布描述(选填):发布包的描述信息。

创建发布任务

对已添加的发布包创建发布任务,支持为同一版本的发布包同时创建多个发布任务。单个升级包最多支持同时发布 10 个任务。

发布任务下发规则:

  • 当客户端请求匹配到多个发布任务时,优先下发高版本任务。
  • 当同一个发布包版本命中多个发布任务时,按照任务类型,发布任务的下发优先级从高到低为:正式 > 白名单(灰度)> 时间窗(灰度)。
  • 若发布包版本相同,任务类型也相同,则以最新发布的任务为准。
    例如,在控制台上发布了一个 5.0 版本的白名单任务 A,针对 4.0 版本进行单次升级;接着又发布了一个白名单任务 B,针对 4.0 版本做强制升级。这两个任务同时存在,当 4.0 版本的客户端请求升级时,首先下发任务 B,在任务 B 终止或者暂停后,下发任务 A。
  • 当一个版本同时发布灰度任务和正式任务时,列表发布状态显示为“正式发布”,当暂停或结束正式任务后,发布状态显示为“灰度发布”。如果所有任务都结束了,则显示“已结束发布”。

操作步骤如下:

  1. 找到要创建发布任务的发布包。
  2. 在右侧的 操作 列中,点击 创建发布任务
  3. 创建发布任务 页面中,选择或输入以下信息:

    ios-create

    • 发布类型:分为 灰度正式
      • 灰度:在正式发布前,进行小规模发布以验证新包的功能是否达到预期,发布对象是部分用户。
      • 正式:正式发布版本,发布对象是全部用户。
        说明TestFlight企业分发 类型的发布包仅支持 灰度 发布。TestFlight 发布页面不展示 发布类型 选项,企业分发 类型的发布包固定为 灰度 类型,且不可选择。
    • 升级模式:分为 单次多次强制升级
      • 单次:在 App 启动后根据静默策略提示升级。
        说明:静默策略指弹出升级提示后,用户点击取消后一段时间内处于“静默”状态,不再提醒升级。默认静默时间为 3 天,可自定义。如需自定义静默时间,可参考 发布新版本
      • 多次:在 App 每次启动后均提示升级。
      • 强制升级:在 App 每次启动后提示升级并且无法关闭提示窗。
        说明TestFlight 类型的发布包无 强制升级,只有 单次多次
    • 发布模型(仅限 灰度 发布):分为 白名单灰度时间窗灰度
      • 当选择 白名单灰度 时,您可在下方配置白名单。
        说明:您可在白名单管理中配置白名单。具体操作步骤,参见 白名单管理
      • 当选择 时间窗灰度 时,您可在下方选择时间窗的 结束时间 以及 灰度人数
        说明企业分发 类型的发布包无 时间窗灰度,只有 白名单灰度
    • 升级提示信息(选填):升级时所显示的信息。
    • 发布描述(选填):本次发布的描述信息。
    • 高级规则(仅限 灰度 发布):点击 添加,您可在弹出的窗口中选择 包含不包含 特定的 城市机型网络 等信息,并选择与 类型 对应的 资源值

      ios-advanced

  4. 设置完毕后,点击 确定,即可开始发布。您可点击发布包左侧的加号图标(add)来查看刚刚创建的发布任务。

相关操作

  • 上传符号表。在发布管理列表,您可对已添加的发布包上传符号表。
    • 一个 .ipa 发布包对应一个符号表文件。
    • 只支持 dSYM 格式的符号表,且需要将文件压缩成 .tgz 格式上传。
  • 变更升级包的发布任务。在发布管理列表,点击发布包前的加号图标(add)查看升级包的发布任务。
    • 点击 暂停,暂停发布任务。暂停后,如要继续进行该任务,点击 继续
    • 点击 结束,终止发布任务。结束后,您不能再对任务做任何操作。