本文介绍如何基于 CocoaPods 原生的插件扩展机制生成各项配置,进而快速接入 mPaaS。
前置条件
已安装 CocoaPods 1.0.0 及以上版本,并确保要接入的工程是 CocoaPods 工程。
已安装 Cocoapods-mPaaS 插件。如您尚未安装该插件,可使用以下命令进行安装。
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
已在控制台创建应用,并下载了
.config
配置文件。更多信息,参见 在控制台创建应用。
接入步骤
将
.config
配置文件拷贝到工程的根目录下(与Podfile
同级)。说明请确认下载的
.config
配置文件的文件名是以iOS
结尾。如果是以ios
结尾,则需要手动改为iOS
。在命令行执行
pod mpaas init
命令,自动处理Podfile
文件,并添加plugin
、source
以及mPaaS_baseline
配置。自动配置的代码如下:plugin "cocoapods-mPaaS" source 'https://gitee.com/mpaas/podspecs.git' mPaaS_baseline 'x.x.x'
配置
Podfile
文件。指定 mPaaS 基线,修改
mPaaS_baseline
。例如:mPaaS_baseline '10.2.3'
,其中10.2.3
为基线版本号,不同版本之间的区别,参见 发布说明。添加 mPaaS 组件依赖,使用
mPaaS_pod
。例如:mPaaS_pod "mPaaS_Nebula"
,其中mPaaS_Nebula
为组件名称,更多组件名称可参考下方的组件列表。组件配置
适用基线
说明
mPaaS_pod "mPaaS_LocalLog"
10.1.32+
本地日志
mPaaS_pod "mPaaS_Log"
10.1.32+
移动分析:行为日志、自动化日志、Crash 日志、性能日志分析。
mPaaS_pod "mPaaS_Diagnosis"
10.1.32+
诊断:客户端诊断分析。
mPaaS_pod "mPaaS_RPC"
10.1.32+
移动网关:提供下载、上传、RPC 调用等功能。
mPaaS_pod "mPaaS_Sync"
10.1.32+
移动同步:长连接服务。
mPaaS_pod "mPaaS_Push"
10.1.32+
消息推送
mPaaS_pod "mPaaS_Config"
10.1.32+
开关配置:根据 key 从服务端拉取对应的 value,可动态控制客户端逻辑。
mPaaS_pod "mPaaS_Upgrade"
10.1.32+
升级发布:提供便捷的主动检测升级的服务,可用于日常灰度发布、线上新版本更新提示。
mPaaS_pod "mPaaS_Share"
10.1.32+
分享:支持分享文本、图片到微博、钉钉、支付宝好友等知名渠道。
mPaaS_pod "mPaaS_Nebula"
10.1.32+
H5 容器与离线包:Nebula 容器,支持前端与 native 交互。
mPaaS_pod "mPaaS_UTDID"
10.1.32+
设备标识:简单快捷地获取设备 ID,以利于应用程序安全有效的找到特定设备。
mPaaS_pod "mPaaS_DataCenter"
10.1.32+
统一存储:提供安全、快速、可加密、支持多种数据类型的 KV 存储;数据库 DAO 支持等多种持久化方案。
mPaaS_pod "mPaaS_ScanCode"
10.1.32+
扫码:快速识别二维码、条形码。
mPaaS_pod "mPaaS_LBS"
10.1.32+
移动定位:移动客户端定位解决方案。
mPaaS_pod "mPaaS_CommonUI"
10.1.32+
通用 UI:通用 UI 组件库,提供各种 UI 组件。
mPaaS_pod "mPaaS_BadgeService"
10.1.32+
红点:客户端“红点”提醒组件,支持红点、数字、New 等提醒样式,自动管理树形结构的红点关系。
mPaaS_pod "mPaaS_AlipaySDK"
10.1.32+
支付宝快捷支付:支付宝快捷收银台。
mPaaS_pod "mPaaS_Multimedia"
10.1.32+
多媒体组件:多媒体组件,支持图片下载、上传、缓存等功能。
mPaaS_pod "mPaaS_MobileFramework"
10.1.32+
移动框架:客户端应用框架,子 app 管理,多 tab 类应用管理,第三方跳转管理,viewController 跳转,异常处理与上报。
mPaaS_pod "mPaaS_OpenSSL"
10.1.32+
OpenSSL
mPaaS_pod "mPaaS_TinyApp"
10.1.32+
小程序:小程序集成发布能力。
mPaaS_pod "MPBaseTest"
10.1.32+
基础测试:基础的测试模块。
mPaaS_pod "mPaaS_CDP"
10.1.32+
智能投放:智能配置各类营销广告和展示形式,动态投放到客户端。
mPaaS_pod "mPaaS_AliAccount"
10.1.60+
小程序账户通:小程序账户通发布。
mPaaS_pod "mPaaS_ARTVC"
10.1.68
音视频通话:音频、视频通话组件。支持双人、多人视频通话和在线会议。
mPaaS_pod "mPaaS_BlueShield"
10.2.3+
蓝盾加密组件:在 config 文件中添加 absBase64Code 参数,可自动生成蓝盾图片。
mPaaS_pod "mPaaS_MDC"
10.2.3+
移动调度组件:细粒度域名策略调度。
完整的 Podfile 示例如下:
执行
pod mpaas update x.x.x
,其中x.x.x
为配置的基线号,例如10.2.3
。执行
pod install
即可完成接入。您还可以追加--verbose
查看详细日志。说明如果在执行
pod install
时提示不能找到从 GitHub 官网引入的库,请在 podfile 的顶部指定 GitHub 官方 Source 的源地址:https://github.com/CocoaPods/Specs.git
。如果您在接入后遇到了三方库冲突,可将引起冲突的三方库移除。具体操作,请参见 iOS 冲突处理。
升级指南
当 mPaaS 有新版本发布时,您可选择升级组件,或整体升级基线(即 SDK 版本)。
升级组件
在命令行执行
pod mpaas update x.x.x
,其中x.x.x
为当前使用的基线版本号,例如10.2.3
。执行
pod install
即可完成该基线下对应的组件的升级。
升级基线
在
podfile
中,修改mPaaS_baseline
对应的基线号(支持标准或者定制基线),例如从10.1.68
修改为10.2.3
,即可完成整体基线的升级。执行
pod install
即可完成基线升级。
mPaaS iOS podspec 地址切换
背景
mPaaS 原有使用的 podspec 保存仓库 code.aliyun.com
已停止服务(于 2023 年 06 月 01 日停止更新,于 2023 年 06 月 30 日停止服务)。
继续使用原有 repo 影响如下:
使用 mPaaS pod plugin 进行 SDK 更新时,无法拉取到各基线的最新版本;
2023.06.30 之后,使用 mPaaS pod plugin 无法拉取到任何基线版本。
当前 mPaaS 已在 gitee.com
上支持了全部 mPaaS 版本。
解决方案
升级 mPaaS pod plugin
执行下列命令更新到最新 mPaaS pod plugin。
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
执行完成后在终端中执行 pod plugins installed
命令,查看 cocoapods-mPaaS 的版本,显示为 0.9.6
或以上即为升级成功。
修改 podfile 中 source 配置
将 podfile 中原有的 source "https://code.aliyun.com/mpaas-public/podspecs.git"
替换为
source "https://gitee.com/mpaas/podspecs.git"
。
API 变更
本次修改只涉及插件的变更,暂无插件命令使用的变化。
测试验证
执行完成上述升级与修改配置操作后,可继续执行 mPaaS pod plugin 相关拉取命令测试是否可以拉取到最新基线版本以及 SDK。
参数列表
您可以通过配置参数,改变插件的一些默认行为。
使用方法:
在 podfile 中的 plugin "cocoapods-mPaaS"
后方添加参数。示例如下:
参数 | 功能 | 适用版本 |
| 生成 V6 保镖图片 | ≥ V0.9.6 |
| 生成 V5 保镖图片 | ≥ V0.9.6 |
| 在某些场景(如独立 framework 工程)中,不需要自动添加 mPaaS 模板目录文件。 | ≥ V0.9.5.0.0.2 |
| 在某些场景(如使用内网代理)下,不自动检查添加默认 repo。 | ≥ V0.9.5.0.0.2 |
10.2.3 基线版本无需设置 :guard_image_version
,默认生成 V6 图片。
命令列表
安装了 cocoapods-mPaaS 插件后,您可使用命令行工具辅助开发。
命令 | 功能 |
| 在 |
| 更新基线,参数 |
| 在正式版插件中,该命令会升级插件,重新运行安装脚本。在 beta 版插件中,该命令除了能够实现正式版中的功能外,还会更新本地基线。 |
| 显示完整的基线和对应的组件信息。 |
| 筛选某个模块名的信息。 |
| 显示部分缺省的基线信息,方便一键粘贴到 Podfile 中。 |
| 直接从命令行打开 |
| 显示当前工程所用的完整基线。 |
| 显示当前 Cocoapods-mPaaS 插件的版本号。 |