由于苹果系统安全策略的升级,从 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 插件主界面。如下图所示:
本文将对 mPaaS 插件 以下功能进行详细说明:
点击 导入云端元数据 选项,选择下载的云端数据配置文件,点击 确定 按钮,将对应的配置导入到当前工程中。
点击 mPaaS 模块编辑 选项,选择需要添加的模块,点击 开始编辑 按钮,将对应的模块添加到当前工程中。
重要:如果是使用基于 mPaaS 框架创建的工程,在编辑模块时,请勿取消移动客户端框架模块。
framework
集合。这样可以减小工程的大小,用户只需要提交自己的代码。framework
会拷贝到当前工程的 MPaaS
目录下,您可以将这些模块包一起提交。添加的模块会同步到工程的 mPaaS
目录下,具体结构说明详见 mPaaS 目录结构。
点击 mPaaS 产品集更新 选项,可查看产品集信息和状态。点击右下方的 开始更新 后,产品集会升级到最新版本,包括所有添加的模块。
升级成功后,当前工程目录下的 mpaas_sdk.config 文件也会同步更新产品集及各模块的版本信息。
点击 mPaaS 基线升级 选项,在右侧下拉框中选择要升级到的基线版本(即 SDK 版本),点击 确认升级 按钮可进行升级。
升级基线之后工程中的 mPaaS 信息将会全部更新,当从 低于 10.1.32 的版本升级到 10.1.32 及以上版本 时,工程中的 MPaaS
目录结构和 Info.plist
中的内容会发生一些变化,具体内容如下。
升级前工程中 MPaaS
目录下存在的组件 category 目录和文件,在升级之后只会保留 APMobileFramework
和 mPaas
,其它目录将会移除自动移除,比如 MPHotpatchSDK
、APRemoteLogging
等。如果这些目录下有存放自定义的文件,请提前备份保存。详细目录结构参见文档 mPaaS 目录结构。
升级前工程中 Info.plist 中插入的 mPaaS 相关字段内容如下图所示。
由于 10.1.32 及以上的版本只需保留 Product Version
, 不再需要 Product ID
、mPaaS
、mPaaSInternal
字段,所以升级基线后,插件会自动将这些字段移除,如果发现未成功移除,需手动删除这些内容。升级后的内容入下图所示:
Product Version
。使用热修复功能时,为了保障安全性,本地测试通过后的 .js
脚本文件,需要进行打包加密后才能提交到发布平台。
点击 生成 Hotpatch 资源包 选项,上传本地测试通过的 .js
脚本和 RSA 私钥文件,得到加密后的 Hotpatch 资源包文件。传入参数的含义如下:
.js
脚本。openssl
获取,与添加到工程中的公钥文件配对的私钥文件。生成的热修复资源包,与上传的 .js
脚本文件保存在同级目录下,包含的内容如下:
Test.js
:最后上传到发布平台的加密文件。Test.sig
:加密后的签名文件。Test.zip
:加密后的脚本文件。通常在上传到发布平台之前,用来验证加密算法是否正确。mPaaS 插件提供一键打包功能,输入 bundleID 、bundle version、签名参数等信息,可生成一个 .ipa
的安装包,使用 mPaaS 发布管理 进行 App 的升级,提醒用户安装新版本。
info.plist
文件中的 Bundle Version 保持一致。true
表示使用 debug 配置信息,false
表示使用 release 配置信息。true
表示生成 App Store 安装包,需使用发布证书打包;false
表示生成非 App Store 安装包,可用开发证书打包。生成的 .ipa
包会保存在当前工程的 Product
目录下。
mPaaS 插件提供对原有 .ipa
安装包重签名的功能,可生成一个重签名后的 .ipa
安装包,可在更多的设备上安装使用,便于测试验证。
security find-identity -p codesigning -v ~/Library/Keychains/login.keychain
查看。用户 ID
。点击确定后,选择重签名后的 .ipa
包的保存路径,新的安装包可以直接在真机上安装使用。
mPaaS 插件提供离线生成无线保镖安全图片的功能,输入 bundleID 、AppSecret 等信息,可生成 RPC 验签和离线包等解密需要的 yw_1222.jpg
图片。
meta.config
文件中的 appId 字段保持一致。meta.config
文件中的 workspaceId 字段保持一致。yw_1222.jpg
的版本号。根据客户端 SecurityGuardSDK.framework
的版本号区分:yw_1222.jpg
版本号为 4。yw_1222.jpg
版本号为 5。yw_1222.jpg
图片的输出路径。meta.config
文件中已生成了此图片,如无特殊需求,一般不用重新生成。yw_1222.jpg
图片,并添加到工程中。
mpaas --version
在文档使用中是否遇到以下问题
更多建议
匿名提交