全部产品

基于已有工程且使用 CocoaPods 接入

更新时间:2020-09-11 19:53:23

本文介绍如何基于 CocoaPods 原生的插件扩展机制生成各项配置,进而快速接入 mPaaS。

前置条件

  • 已安装 CocoaPods 1.0.0 及以上版本,并确保要接入的工程是 CocoaPods 工程。
  • 已安装 cocoapods-mPaaS 插件。如您尚未安装该插件,可使用以下命令进行安装。
    1. sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
  • 已在控制台创建应用,并下载了 .config 配置文件。更多信息,参见 在控制台创建应用

接入步骤

  1. 将下载的 .config 配置文件拷贝到工程的根目录下(与 Podfile 同级)。
    config

  2. 在命令行执行 pod mpaas init 命令,自动处理 Podfile 文件,并添加 pluginsource 以及 mPaaS_baseline 配置。
    pod mpaas init

    自动配置的代码如下:

    1. plugin "cocoapods-mPaaS"
    2. source "https://code.aliyun.com/mpaas-public/podspecs.git"
    3. mPaaS_baseline 'x.x.x'
    说明:需将代码中的 x.x.x 替换为实际的基线版本。
  3. 配置 Podfile 文件。

    1. 指定 mPaaS 基线,修改 mPaaS_baseline
      例如:mPaaS_baseline '10.1.32',其中 10.1.32 为基线版本号,不同版本之间的区别,参见 发布说明
    2. 添加 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_Hotpatch"10.1.32+热修复:动态修复(Hotpatch),用于在不发版的情况下热修复线上 Bug。
      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音视频通话:音频、视频通话组件。支持双人、多人视频通话和在线会议。

      完整的 Podfile 示例如下:
      Podfile

  4. 执行 pod install 即可完成接入。您还可以追加 --verbose 查看详细日志。
  5. 如果您在接入后遇到了三方库冲突,可将引起冲突的三方库移除。具体操作,请参见 iOS 冲突处理

升级指南

当 mPaaS 有新版本发布时,您可选择升级组件,或整体升级基线(即 SDK 版本)。

升级组件

  1. 在命令行执行 pod mpaas update x.x.x,其中 x.x.x 为当前使用的基线版本号,例如 10.1.32
    upgrade component
  2. 执行 pod install 即可完成该基线下对应的组件的升级。

升级基线

  1. podfile 中,修改 mPaaS_baseline 对应的基线号(支持标准或者定制基线),例如从 10.1.32 修改为 10.1.60,即可完成整体基线的升级。
    upgrade baseline
  2. 执行 pod install 即可完成基线升级。

参数列表

您可以通过配置参数,改变插件的一些默认行为。

使用方法
在 podfile 中的 plugin "cocoapods-mPaaS" 后方添加参数。示例如下:

add-param

参数 功能 适用版本
:only_frameworks => true 在某些场景(如独立 framework 工程)中,不需要自动添加 mPaaS 模板目录文件。 ≥ V0.9.5.0.0.2

命令列表

安装了 cocoapods-mPaaS 插件后,您可使用命令行工具辅助开发。

命令 功能
pod mpaas init Podfile 中添加 pluginsourcemPaaS_baseline
pod mpaas update <VERSION> 更新基线,参数 <VERSION> 为具体的基线号,例如 10.1.32,同时也更新下 podspec 仓库。
pod mpaas update --all 在正式版插件中,该命令会升级插件,重新运行安装脚本。
在 beta 版插件中,该命令除了能够实现正式版中的功能外,还会更新本地基线。
pod mpaas info 显示完整的基线和对应的组件信息。
pod mpaas info <NAME> <VERSION>
(其中 <VERSION> 为可选)
筛选某个模块名的信息。例如 pod mpaas info hotpatch 10.1.32
pod mpaas info --only-mPaaS 显示部分缺省的基线信息,方便一键粘贴到 Podfile 中。
pod mpaas open 直接从命令行打开 .xcworkspace 文件。
pod mpaas version 显示当前工程所用的完整基线。
pod mpaas version --plugin 显示当前 cocoapods-mPaaS 插件的版本号。