本文介绍如何使用Pod集成方式接入性能分析服务的iOS SDK。
iOS SDK接入可采用Pod集成和手动集成2种方式。推荐使用Pod集成方式接入性能分析服务,可大幅简化接入操作。
如需使用手动集成方式接入性能分析服务的iOS SDK,操作方法参见:iOS SDK接入(手动集成)
前提条件
使用限制
仅支持iOS 8.0及以上的App。
接入概述
通过iOS SDK接入性能分析服务的操作步骤如下:
添加依赖
1:指定官方仓库和阿里云仓库。
source "https://github.com/CocoaPods/Specs.git"
source "https://github.com/aliyun/aliyun-specs.git"
2:添加依赖。
pod 'AlicloudAPM', '1.1.1'
执行pod search AlicloudAPM
命令,查询AlicloudAPM最新版本。
3:执行pod update
命令,保存设置。
接入服务
1:将iOS配置文件AliyunEmasServices-Info.plist
拷贝至项目根目录。
iOS配置文件的获取方式参见:前提条件
2:在AppDelegate.m
文件的application:didFinishLaunchingWithOptions
方法中初始化SDK。
引入头文件:
#import <AlicloudAPM/AlicloudAPMProvider.h>
#import <AlicloudHAUtil/AlicloudHAProvider.h>
添加代码段:
NSString *appVersion = @"xxx"; //配置项
NSString *channel = @"xxx"; //配置项
NSString *nick = @"xxx"; //配置项
[[AlicloudAPMProvider alloc] autoInitWithAppVersion:appVersion channel:channel nick:nick];
[AlicloudHAProvider start];
配置说明:
配置项 | 说明 |
---|---|
appVersion | 用于指定App的版本,上报至服务端,进行版本区分。 【数据类型】字符串 【格式要求】自定义 【取值范围】任意长度。 说明 该参数值将在控制台显示为下拉列表选项,建议短小凝练。 【是否必选】是 【是否可为空】否 【默认值】无 【大小写敏感】是。例如,vx.x和Vx.x不是一个版本。 【字符类型】英文大小写、数字。 说明 该参数不支持中文字符、特殊字符。 【示例】 |
channel | 用于指定渠道标识,上报至服务端,进行渠道区分。 【数据类型】字符串 【取值范围】任意长度 【是否必选】是 【是否可为空】否 【默认值】无 【字符类型】英文大小写、数字。 说明 该参数不支持中文字符、特殊字符。 【示例】 |
nick | 用于指定用户昵称,上报至服务端,进行用户区分。后续可能依据该参数,进行数据检索。 【数据类型】字符串 【取值范围】任意长度 【是否必选】是 【是否可为空】否 【默认值】无 【字符类型】英文大小写、数字。 说明 该参数不支持中文字符、特殊字符。 【命名规范】自定义 【示例】 |
编译
1:在项目的Build Setting
中,将Allow Non-modular Includes In Framework Modules
设置为YES
。

2:执行编译。
编译过程中如出现
duplicate symbol
类型错误,确认本地依赖与CocoaPods管理的依赖是否重复;如是,则删除本地依赖。如同时使用其他阿里云产品,可能会因为依赖中存在UTDID冲突,造成编译失败。解决办法参见:SDK UTDID冲突解决方案
样例代码
性能分析服务iOS SDK接入工程样例参见:Demo工程
功能验证
iOS SDK接入操作完成后,可操作App,查看性能分析服务控制台显示数据,进行功能验证。
1:手机端:启动App。(2分钟后)控制台:查看概览页签的启动速度是否显示数据。
2:手机端:在App中跳转几个页面。(2分钟后)控制台:查看概览页签的加载时间是否显示数据。
数据从App采集到控制台显示,存在大约2分钟延迟。
如数据显示正常,则iOS SDK接入成功;
否则,可能的原因是:SDK接入失败、SDK未获取数据、数据发送失败、后端问题,请联系技术支持解决。