Skip to content
v1
文档/iOS SDK/开发指南

安装与升级

本文说明 BIMSdk iOS 1.0.7 的交付结构。最低系统版本为 iOS 13.4,推荐使用 CocoaPods 集成。

选择安装内容

需求Pod包含能力
消息、会话、群组、关系链BIMSdkCore IM 能力
Core + 即时呼 + 即时/预约会议BIMSdk/CallCore 和完整音视频能力

BIMSdk/Call 已依赖 Core,不要同时声明两个 Pod。

CocoaPods(推荐)

ruby
platform :ios, '13.4'

target 'YourApp' do
  # 仅使用 Core:
  pod 'BIMSdk', '1.0.7'

  # 如需音视频,请把上一行改成:
  # pod 'BIMSdk/Call', '1.0.7'
end
bash
pod install --repo-update

Core Podspec 已固定并自动安装:

  • FMDB 2.7.12
  • Protobuf 3.29.5

底层 Go IMSdk.xcframework 已静态封装在 BIMSdk.xcframework 中,不需要单独添加。BIMSdk/Call 还会安装 BeeWorksMeetSDK 1.1.9;其 JitsiWebRTC、Giphy、libwebp 等依赖由对应 Podspec 继续解析,业务工程不需要下载或维护这些 ZIP。

安装后始终打开 CocoaPods 生成的 .xcworkspace,不要继续打开 .xcodeproj

手动集成 xcframework

仅使用 Core 时,至少需要:

  • BIMSdk.xcframework
  • FMDB 2.7.12 对应 Framework
  • Protobuf 3.29.5 对应 Framework

使用音视频时,还需要:

  • BIMCallJitsiAdapter.xcframework
  • BeeWorksMeetSDK 1.1.9 交付包中的 Meet/Jitsi 动态 Framework

将动态 Framework 添加到 Frameworks, Libraries, and Embedded Content 并设置为 Embed & Sign。底层 IMSdk.xcframework 不需要再次添加。

objc
#import <BIMSdk/BIMSdk.h>
swift
import BIMSdk

手动集成需要由接入方自行保证所有二进制版本一致;新项目优先使用 CocoaPods。

Swift Package Manager 状态

1.0.7 暂未发布可供第三方使用的 Swift Package。原因是当前二进制还需要 FMDB 与 Protobuf 的 Objective-C 运行时依赖,现有导出 ZIP 不是一个完整、已验证的 SPM 产品。

不要把 CocoaPods ZIP 直接作为 Swift Package 使用。需要 SPM 的项目请等待官方 Package 发布,或暂时使用 CocoaPods/手动 xcframework 集成。

从 1.0.6 升级到 1.0.7

  1. 将 Pod 版本统一改为 1.0.7
  2. 删除业务工程中手工重复声明的 FMDB/Protobuf,交给 BIMSdk Podspec 固定版本。
  3. 音视频工程改用 BIMSdk/Call,不要再单独拼装旧名称的 Meet SDK。
  4. 执行 pod update BIMSdk --repo-update,检查锁定版本。
  5. 清理一次 Derived Data,再使用标准签名 Debug 构建验证登录、v2 接口和音视频。

可以用以下命令核对解析结果:

bash
pod spec which BIMSdk --version=1.0.7
grep -E 'BIMSdk|BeeWorksMeetSDK|FMDB|Protobuf' Podfile.lock

预期 Core 依赖为 FMDB 2.7.12、Protobuf 3.29.5;音视频包还应包含 BeeWorksMeetSDK 1.1.9。

常见问题

编译提示模块外引用 private header

先确认没有同时手工集成和 Pod 集成同一依赖,且没有直接修改 Pods/。删除重复的 FMDB/Protobuf,引入方式统一后重新执行 pod install 并清理 Derived Data。

音视频入口可见但无法进入

确认安装的是 BIMSdk/Call,并在登录后检查 isCallMediaAvailableisMeetingMediaAvailable。手动集成时还要确认 Meet/Jitsi 动态 Framework 均已 Embed & Sign

模拟器可以启动但 v2 接口失败

长期测试模拟器必须安装标准签名 Debug 产物。未签名 App 可能读不到原 Keychain 设备密钥,导致请求在发出前失败。