iOS 客户端接入

适用平台:iOS库文件:Protect.xcframework最后更新:2026 年 10 月

本文说明如何在 iOS 项目中集成客户端 SDK。SDK 以 XCFramework 形式提供,同时包含真机与模拟器切片。

前置条件

  • 拥有项目源码,Xcode 环境可正常编译
  • Mac 系统,已安装对应版本的 Xcode
  • 已在控制台创建 iOS 平台实例,取得接入码
客户端 SDK 安装包含 Windows / Android / iOS 三个平台的库文件
下载 SDK

集成步骤

  1. 解压 SDK 包,找到 ios/Protect.xcframework。
  2. 确认原项目可正常编译。如果 Build Settings 中存在 Enable Bitcode 选项,先关闭。
  3. 把 Protect.xcframework 拖入 Xcode 的 Project Navigator,弹窗中勾选 Copy items if needed。
  4. 打开项目 General 页,在 Frameworks, Libraries, and Embedded Content 段把 Protect 设置为 Embed & Sign。
  5. 在 App 启动时调用 protect_start,退出前调用 protect_stop。
Bitcode 必须关闭。如果 Build Settings 里存在 Enable Bitcode 选项且为 YES,编译会失败。较新的 Xcode 版本已移除该选项,忽略即可。

启动与停止

启动代码:

// 引入头文件
#import <Protect/sdk_ios.h>

// 配置
char config[] = "{\"access_key\":\"接入码\"}";

// 启动,返回 0 表示成功,其他表示错误
int result = protect_start(config);

停止代码:

// 停止
protect_stop();

可选参数

config 除必填的 access_key 外,还支持以下字段:

字段类型说明
fast_tick_enabledbool快速心跳模式,缩短探测周期
log_enabledbool输出调试日志,排查问题时开启
lifecycle_keep_enabledbool默认 false:进入后台时 stop、回到前台重建连接;设为 true 则后台保持

带可选参数的完整配置示例:

char config[] = "{\"access_key\":\"接入码\",\"log_enabled\":true}";

错误查询

SDK 提供最近一次错误的查询接口,返回 UTF-8 字符串,无错误时返回空串。指针在下一次调用后失效,需要保存时请自行拷贝。

接入码区分平台。控制台创建实例时必须选择 iOS,否则启动会失败。XCFramework 已包含模拟器切片,可直接在模拟器上调试。

常见问题

编译报错找不到 Protect 模块

  • 确认 Embed 设置为 Embed & Sign,而不是 Do Not Embed
  • 确认 Copy items if needed 已勾选,framework 已复制进工程目录
  • Clean Build Folder 后重新编译

启动返回非 0

  • 检查接入码是否属于 iOS 平台实例
  • 确认实例未暂停、未到期
  • 开启 log_enabled 查看具体失败原因