iOS SDK接入

更新时间:2025-05-06 03:45:18

本文档指导开发者完成阿里云移动监控iOS SDK的接入配置,包含SDK启动、构建、功能验证等核心流程。

一、前提条件

  • 已完成EMAS应用创建并获取凭证

  • 开发环境要求

    • Xcode 12.0+

    • iOS 10.0+

    • CocoaPods 1.12.0+

  • 接入2.0.0以下版本的崩溃分析、性能分析和远程日志一个或者多个SDK的应用,可以按照文档《iOS SDK升级指南》完成移动监控SDK的升级工作

二、参考Demo

三、将SDK添加到您的应用

方式一:Cocoapods集成(推荐)
方式二:手动集成
  1. 创建/修改Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/aliyun/aliyun-specs.git'
    
    platform :ios, '13.0'
    use_frameworks!
    
    target 'YourTarget' do
      pod 'AlicloudApmAll', '~> 2.0.0'
    end
    说明

    Xcode项目的根目录中,定位并编辑Podfile文件,以添加AlicloudApmAll依赖项(执行pod search AlicloudApmAll命令,查询其最新版本)。如果根目录中没有Podfile文件,可以通过在终端中运行pod init命令来创建一个新的Podfile。如果您的计算机上尚未安装CocoaPods,请先参考CocoaPods官网完成安装。

  2. 执行安装命令:

    pod repo update AliyunRepo
    pod install
    
    # 如果您尚未添加阿里云Cocoapods仓库,请先执行以下命令添加仓库
    # pod repo add AliyunRepo https://github.com/aliyun/aliyun-specs.git
  1. 参考快速入门文档下载最新SDK

  2. 解压并添加Framework:

    1. 将以下xcframework拖入工程

      AlicloudAPM.xcframework

      AlicloudApmAll.xcframework

      AlicloudApmCore.xcframework

      AlicloudApmCrashAnalysis.xcframework

      AlicloudApmPerformance.xcframework

      AlicloudApmRemoteLog.xcframework

      AlicloudNetworkMonitor.xcframework

      AlicloudTLog.xcframework

      AliHACore.xcframework

      AliHAMemoryMonitor.xcframework

      AliHAPerformanceMonitor.xcframework

      AliyunOSSiOS.framework

      EMASRest.xcframework

      FBRetainCycleDetector.xcframework

      TRemoteDebugger.xcframework

      UTDID.xcframework

    2. 详细操作步骤如下图所示。image

  3. 相同方式引入开源库文件:

  4. 打开Build Phases > Link Binary With Libraries,添加Xcode自带的公共包文件:

    • libc++.tbd

    • libz.tbd

    • libresolv.tbd

    • CoreTelephony.framework

    • SystemConfiguration.framework

说明
  • Xcode兼容性

    使用较低版本的 Xcode 时,可能需要手动添加以下系统库以确保兼容性:

    • libz.tbd

    • libresolv.tbd

    • CoreTelephony.framework

    • SystemConfiguration.framework

  • 链接设置

    如果在运行时遇到问题,可以尝试在以下位置添加 -ObjC 参数:

    1. 打开项目设置。

    2. 导航到 TARGETS。

    3. 选择 Build Settings。

    4. 找到 Linking 部分。

    5. 在 Other Linker Flags 中添加 -ObjC。

四、使用SDK

1. 初始化

AppDelegate中完成初始化。示例代码如下:

Object C
Swift
#import "AlicloudApmCore/AlicloudApmCore.h"
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"
#import "AlicloudApmRemoteLog/AlicloudApmRemoteLog.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    EAPMOptions *options = [[EAPMOptions alloc] initWithAppKey:@"您的AppKey"
                                                     appSecret:@"您的AppSecret"];
    options.appRsaSecret = @"您的AppRsaSecret";
    // 以下sdkComponents分别对应崩溃分析、性能分析和远程日志,可按需裁剪
    options.sdkComponents = @[[EAPMCrashAnalysis class], [EAPMPerformance class], [EAPMRemoteLog class]];
    
    [EAPMApm startWithOptions:options];
    
    return YES;
}
@end
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, 
                   didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        let options = EAPMOptions(
            appKey: "您的AppKey",
            appSecret: "您的AppSecret",
            // 以下sdkComponents分别对应崩溃分析、性能分析和远程日志,可按需裁剪
            sdkComponents: [CrashAnalysis.self, Performance.self, RemoteLog.self]
        )
        options.appRsaSecret = "您的AppRsaSecret"
        EAPMApm.start(options: options)
        
        return true
    }
}

对于使用Swift开发的应用,还需配置Bridging-Header.h文件,并在其中引入SDK头文件:

image

#import "AlicloudApmCore/AlicloudApmCore.h"
// 以下头文件分别对应崩溃分析、性能分析和远程日志,可按需引入
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"
#import "AlicloudApmRemoteLog/AlicloudApmRemoteLog.h"

2. 编译

  1. 在项目的Build Setting中,将Allow Non-modular Includes In Framework Modules设置为YES

    编译设置

  2. 执行编译。

    说明
    • 编译过程中如出现duplicate symbol类型错误,确认本地依赖与CocoaPods管理的依赖是否重复;如是,则删除本地依赖。

    • 如同时使用其他阿里云产品,可能会因为依赖中存在UTDID冲突,造成编译失败。解决办法参见:SDK UTDID冲突解决方案

五、接入验证

  • 在真机或模拟器上运行应用后,请查看Xcode控制台输出,检查是否有类似以下日志信息:

[AlicloudApmCore] Started Successfully
[AlicloudApmSetting] Fetched Successfully

此日志表明SDK已成功启动,并且拉取配置成功。

六、扩展资料

  • 本页导读 (0)
  • 一、前提条件
  • 二、参考Demo
  • 三、将SDK添加到您的应用
  • 四、使用SDK
  • 1. 初始化
  • 2. 编译
  • 五、接入验证
  • 六、扩展资料
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等