mPaaS 插件 提供图形化界面,帮您快速接入 mPaaS。功能包括:增删和升级 mPaaS 组件、工程打包、重签名等。
点击 Edit > mPaaS > Main,您可以进入 mPaaS 插件主界面。如下图所示:
本文将对 mPaaS 插件 以下功能进行详细说明:
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 框架创建的工程,在编辑模块时,请勿取消移动客户端框架模块。
- 添加:表示此模块还未添加,可以点击按钮,添加此模块到当前工程。
- COPY:工程依赖的 SDK 会统一安装到用户机器的公共目录,并由插件自动维护。
- 不勾选:会使用公共目录下的
framework
集合。这样可以减小工程的大小,用户只需要提交自己的代码。 - 勾选:相应模块的
framework
会拷贝到当前工程的MPaaS
目录下,您可以将这些模块包一起提交。
- 不勾选:会使用公共目录下的
添加的模块会同步到工程的 mPaaS
目录下,具体结构说明详见 mPaaS 目录结构。
产品集更新
点击 mPaaS 产品集更新 选项,可查看产品集信息和状态。点击右下方的 开始更新 后,产品集会升级到最新版本,包括所有添加的模块。
- 当前产品集版本:表示当前工程集成的 mPaaS 产品集版本号。
- 最新产品集版本:表示 mPaaS 最新发布的产品集版本号。
- 查看最新产品集 Release Note:查看 mPaaS SDK 的 release note。
- 模块名称:表示最新产品集中包含的模块名。
- 状态:表示此模块在当前工程中的状态:未安装、已安装最新版本、可升级到最新版本。
- 开始更新:自动将产品集中所有可升级的模块进行升级。
升级成功后,当前工程目录下的 mpaas_sdk.config
文件也会同步更新产品集及各模块的版本信息。
升级基线
点击 mPaaS 基线升级 选项,在右侧下拉框中选择要升级到的基线版本(即 SDK 版本),点击 确认升级 按钮可进行升级。
- 当前基线版本:表示当前 target 已经集成的 mPaaS 基线版本号。
- 要升级的基线版本:表示要升级到的基线版本号。
- 模块列表:要升级到的基线中包含的所有模块。包括以下信息:
- 模块名称:模块的名称。
- 描述:模块的描述信息,右侧 info 按钮可以查看具体的 release note。
- 状态:表示该模块是否已经集成安装到工程中。
升级基线之后工程中的 mPaaS 信息将会全部更新,当从 低于 10.1.32 的版本升级到 10.1.32 及以上版本 时,工程中的 MPaaS
目录结构和 Info.plist
中的内容会发生一些变化,具体内容如下。
目录结构变化
升级前工程中 MPaaS
目录下存在的组件 category 目录和文件,在升级之后只会保留 APMobileFramework
和 mPaas
,其它目录将会移除自动移除,比如 MPHotpatchSDK
、APRemoteLogging
等。如果这些目录下有存放自定义的文件,请提前备份保存。详细目录结构参见文档 mPaaS 目录结构。
Info.plist 变化
升级前工程中 Info.plist
中插入的 mPaaS 相关字段内容如下图所示。
由于 10.1.32 及以上的版本只需保留 Product Version
, 不再需要 Product ID
、mPaaS
、mPaaSInternal
字段,所以升级基线后,插件会自动将这些字段移除,如果发现未成功移除,需手动删除这些内容。升级后的内容入下图所示:
Product Version
。生成 HotPatch 资源包
使用热修复功能时,为了保障安全性,本地测试通过后的 .js
脚本文件,需要进行打包加密后才能提交到发布平台。
点击 生成 Hotpatch 资源包 选项,上传本地测试通过的 .js
脚本和 RSA 私钥文件,得到加密后的 Hotpatch 资源包文件。传入参数的含义如下:
- 脚本文件:本地测试验证通过后的
.js
脚本。 - 私钥文件:通过
openssl
获取,与添加到工程中的公钥文件配对的私钥文件。 - Hotpatch Key:appKey。该 key 会从云端配置文件中读取,您不用修改。
- AppSecret: 应用对应的 App Secret。点击右侧帮助按钮查看更多信息。
生成的热修复资源包,与上传的 .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
图片。
- 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。
- 若版本号低于 5.3.85,则
- OutPath:
yw_1222.jpg
图片的输出路径。 - 图片类型:类型可以选择 标准 和 账户通,默认为 标准。当选择 账户通 类型时,会生成小程序账户通专用的图片。
- 公有云用户导入的
meta.config
文件中已生成了此图片,如无特殊需求,一般不用重新生成。 - 专有云用户请使用此方法生成
yw_1222.jpg
图片,并添加到工程中。
查看 mPaaS 插件版本
- mPaaS 插件在 5.0.5 版本中提供了检查更新的功能,您可以在 mPaaS 插件中点击 Edit > mPaaS > 关于,查看当前正在使用的 mPaaS 插件的版本。
版本信息如下: - 如果在您的 mPaaS 插件菜单中没有 关于 菜单,则说明您当前使用 mPaaS 插件版本小于 5.0.5。因此您需要在终端执行以下命令以获知准确的版本号。
mpaas --version