全部产品

使用 mPaaS 插件

更新时间:2020-03-31 14:16:18

mPaaS 插件失效声明

由于苹果系统安全策略的升级,从 macOS 10.15.1 版本开始加入了应用签名的强校验机制,去签名容易导致 Xcode 无法使用,甚至造成系统卡死。经过验证,在 macOS 10.15.3 及以上的系统使用 Xcode 11.3.1 及以上的版本时,安装去签名版本 mPaaS 插件会大概率出现系统卡死,恢复 Xcode 签名之后问题消失。基于以上原因,我们决定逐渐停止更新 iOS mPaaS 插件(去签名版本),并预计于 2020 年 9 月停止维护。

建议您尽快安装并使用新版本插件 mPaaS Xcode Extension。Extension 目前已经涵盖 mPaaS 插件的全部功能,并且增加了很多新特性,欢迎大家使用。

功能介绍

mPaaS 插件 提供图形化界面,帮您快速接入 mPaaS。功能包括:增删和升级 mPaaS 组件、工程打包、重签名等。

点击 Edit > mPaaS > Main,您可以进入 mPaaS 插件主界面。如下图所示:

main

本文将对 mPaaS 插件 以下功能进行详细说明:

导入云端数据

点击 导入云端元数据 选项,选择下载的云端数据配置文件,点击 确定 按钮,将对应的配置导入到当前工程中。

导入云端元数据.png

说明:在 mPaaS 控制台 > 代码管理 > 代码配置 页面下载云端元数据。更多信息,请参见 在控制台创建应用 > 下载配置文件

编辑模块

点击 mPaaS 模块编辑 选项,选择需要添加的模块,点击 开始编辑 按钮,将对应的模块添加到当前工程中。

mPaaS 模块编辑

  • 取消:表示此模块已经添加,可以点击按钮从当前工程中删除。

    重要:如果是使用基于 mPaaS 框架创建的工程,在编辑模块时,请勿取消移动客户端框架模块。

  • 添加:表示此模块还未添加,可以点击按钮,添加此模块到当前工程。
  • COPY:工程依赖的 SDK 会统一安装到用户机器的公共目录,并由插件自动维护。
    • 不勾选:会使用公共目录下的 framework 集合。这样可以减小工程的大小,用户只需要提交自己的代码。
    • 勾选:相应模块的 framework 会拷贝到当前工程的 MPaaS 目录下,您可以将这些模块包一起提交。

添加的模块会同步到工程的 mPaaS 目录下,具体结构说明详见 mPaaS 目录结构

产品集更新

点击 mPaaS 产品集更新 选项,可查看产品集信息和状态。点击右下方的 开始更新 后,产品集会升级到最新版本,包括所有添加的模块。

update

  • 当前产品集版本:表示当前工程集成的 mPaaS 产品集版本号。
  • 最新产品集版本:表示 mPaaS 最新发布的产品集版本号。
  • 查看最新产品集 Release Note:查看 mPaaS SDK 的 release note。
  • 模块名称:表示最新产品集中包含的模块名。
  • 状态:表示此模块在当前工程中的状态:未安装、已安装最新版本、可升级到最新版本。
  • 开始更新:自动将产品集中所有可升级的模块进行升级。

升级成功后,当前工程目录下的 mpaas_sdk.config 文件也会同步更新产品集及各模块的版本信息。

升级基线

点击 mPaaS 基线升级 选项,在右侧下拉框中选择要升级到的基线版本(即 SDK 版本),点击 确认升级 按钮可进行升级。

mPaaS 基线升级

  • 当前基线版本:表示当前 target 已经集成的 mPaaS 基线版本号。
  • 要升级的基线版本:表示要升级到的基线版本号。
  • 模块列表:要升级到的基线中包含的所有模块。包括以下信息:
    • 模块名称:模块的名称
    • 描述:模块的描述信息,右侧 info 按钮可以查看具体的 release note
    • 状态:表示该模块是否已经集成安装到工程中

升级基线之后工程中的 mPaaS 信息将会全部更新,当从 低于 10.1.32 的版本升级到 10.1.32 及以上版本 时,工程中的 MPaaS 目录结构和 Info.plist 中的内容会发生一些变化,具体内容如下。

目录结构变化

升级前工程中 MPaaS 目录下存在的组件 category 目录和文件,在升级之后只会保留 APMobileFrameworkmPaas,其它目录将会移除自动移除,比如 MPHotpatchSDKAPRemoteLogging 等。如果这些目录下有存放自定义的文件,请提前备份保存。详细目录结构参见文档 mPaaS 目录结构

Info.plist 变化

升级前工程中 Info.plist 中插入的 mPaaS 相关字段内容如下图所示。

plistbefore

由于 10.1.32 及以上的版本只需保留 Product Version, 不再需要 Product IDmPaaSmPaaSInternal 字段,所以升级基线后,插件会自动将这些字段移除,如果发现未成功移除,需手动删除这些内容。升级后的内容入下图所示:

说明: 手动删除时,请勿删除 Product Version

plistafter

生成 HotPatch 资源包

使用热修复功能时,为了保障安全性,本地测试通过后的 .js 脚本文件,需要进行打包加密后才能提交到发布平台。

点击 生成 Hotpatch 资源包 选项,上传本地测试通过的 .js 脚本和 RSA 私钥文件,得到加密后的 Hotpatch 资源包文件。传入参数的含义如下:

  • 脚本文件:本地测试验证通过后的 .js 脚本。
  • 私钥文件:通过 openssl 获取,与添加到工程中的公钥文件配对的私钥文件。
  • Hotpatch Key:appKey。该 key 会从云端配置文件中读取,您不用修改。
  • AppSecret: 应用对应的 App Secret。点击右侧帮助按钮查看更多信息。

hotpatch

生成的热修复资源包,与上传的 .js 脚本文件保存在同级目录下,包含的内容如下:

  • Test.js:最后上传到发布平台的加密文件。
  • Test.sig:加密后的签名文件。
  • Test.zip:加密后的脚本文件。通常在上传到发布平台之前,用来验证加密算法是否正确。

资源包

打包 mPaaS

mPaaS 插件提供一键打包功能,输入 bundleID 、bundle version、签名参数等信息,可生成一个 .ipa 的安装包,使用 mPaaS 发布管理 进行 App 的升级,提醒用户安装新版本。

打包

  • Bundle Identifier:当前工程的 Bundle Identifier 。如果添加了移动网关服务,必须保证与云端元数据中的 bundleId 字段保持一致,否则移动网关验签失败。
  • Bundle Version:当前工程的版本号。一般与工程里 info.plist 文件中的 Bundle Version 保持一致。
  • CodeSign Identity:签名的证书名称。可在 Keychain 中导入给当前工程签名的证书,找到证书的常用名称即可。
  • Provisioning Profile:与 Bundle Identifier 和签名证书相匹配的 provision 配置文件;
  • Debug:是否使用 debug 配置信息。true表示使用 debug 配置信息,false表示使用 release 配置信息。
  • App Store:是否为 App store 安装包。true表示生成 App Store 安装包,需使用发布证书打包;false表示生成非 App Store 安装包,可用开发证书打包。

生成的 .ipa 包会保存在当前工程的 Product 目录下。

重签名

mPaaS 插件提供对原有 .ipa 安装包重签名的功能,可生成一个重签名后的 .ipa 安装包,可在更多的设备上安装使用,便于测试验证。

  • ipa 安装包:已有的 ipa 安装包。
  • 证书名称:新证书的名称,可使用 security find-identity -p codesigning -v ~/Library/Keychains/login.keychain查看。
  • 证书ID:新证书的 ID,可查看 keychain 中相应证书的 用户 ID
  • Provision File:跟新证书相匹配的 provision 配置文件。

点击确定后,选择重签名后的 .ipa 包的保存路径,新的安装包可以直接在真机上安装使用。

重签名

生成无线保镖图片

mPaaS 插件提供离线生成无线保镖安全图片的功能,输入 bundleID 、AppSecret 等信息,可生成 RPC 验签和离线包等解密需要的 yw_1222.jpg 图片。

image

  • Bundle Identifier:当前工程的 Bundle Identifier。
  • AppID:当前工程的 AppID。与工程中 meta.config 文件中的 appId 字段保持一致。
  • WorkspaceID:当前工程的 WorkspaceID。与工程中 meta.config 文件中的 workspaceId 字段保持一致。
  • AppSecret:无线保镖验签的私钥。公有云用户可以在 mPaaS 控制台查询;专有云用户请向服务端开发人员咨询。点击右侧帮助按钮可以查看更多信息。
  • jpgVersion:无线保镖图片 yw_1222.jpg 的版本号。根据客户端 SecurityGuardSDK.framework 的版本号区分:
    • 若版本号低于 5.3.85,则 yw_1222.jpg 版本号为 4。
    • 若版本号高于或等于 5.3.85,则 yw_1222.jpg 版本号为 5。
      10
  • OutPathyw_1222.jpg 图片的输出路径。
  • 图片类型:类型可以选择 标准账户通,默认为 标准。当选择 账户通 类型时,会生成小程序账户通专用的图片。
说明
  • 公有云用户导入的 meta.config 文件中已生成了此图片,如无特殊需求,一般不用重新生成。
  • 专有云用户请使用此方法生成 yw_1222.jpg 图片,并添加到工程中。 加密图片.png

查看 mPaaS 插件版本

  • mPaaS 插件在 5.0.5 版本中提供了检查更新的功能,您可以在 mPaaS 插件中点击 Edit > mPaaS > 关于,查看当前正在使用的 mPaaS 插件的版本。
    mPaaS插件“关于”菜单
    版本信息如下:
  • 如果在您的 mPaaS 插件菜单中没有 关于 菜单,则说明您当前使用 mPaaS 插件版本小于 5.0.5。因此您需要在终端执行以下命令以获知准确的版本号。
    1. mpaas --version