使用Swift调用OpenTok库时遇rumor_client未初始化错误求助
解决OpenTok iOS SDK调用时的rumor client未初始化错误
问题描述
通过Flutter平台通道调用iOS原生Swift代码使用OpenTok库时,触发以下错误:
[ERROR] rumor_client_v1.c:274 - otk_rumor_v1_client_send (pClient == NULL) rumor client is not initialized and cannot send message
测试官方示例项目、新建空白项目均出现相同错误。当前环境配置:
*********************** OpenTok iOS SDK **************************** **** Version/Revision: ios-2.22.3/86d684fa2c49c335cc63ce5c52f57fd8610db130 **** Library built on: May 17 2022 **** Copyright 2022 Vonage **** Licensed under the Apache License, Version 2.0 ****
Xcode 14.1、macOS 12.6
使用的Swift代码如下:
print("initSession") let args = call.arguments as! [String: Any] let apiKey = args["apiKey"] as! String let sessionId = args["sessionId"] as! String let token = args["token"] as! String var error: OTError? let session = OTSession(apiKey: apiKey, sessionId: sessionId, delegate: self)! print("My session id" + session.sessionId) // try to connect to the session with the token session.connect(withToken: token, error: &error) if let error = error { print("Error connecting to session: \(error.localizedDescription)") }
执行后能正常打印会话ID,但上述错误依然出现。
可能的解决方案
强持有OTSession实例
若session是局部变量,方法执行完毕后会被系统销毁,导致底层rumor client失去上下文。需将session声明为类的属性,保持强引用:class YourFlutterChannelHandler: NSObject, FlutterPlugin, OTSessionDelegate { private var session: OTSession? // 作为类属性持有实例 func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) { // ... 解析参数逻辑 session = OTSession(apiKey: apiKey, sessionId: sessionId, delegate: self)! // ... 连接会话逻辑 } }升级OpenTok SDK版本
当前使用的2.22.3版本为2022年旧版本,可能存在与Xcode 14.1、macOS 12.6的兼容性问题。尝试升级至最新稳定版,新版本通常会修复这类底层初始化异常。确认权限配置
确保iOS项目Info.plist中添加了必要权限:- 相机权限:
NSCameraUsageDescription - 麦克风权限:
NSMicrophoneUsageDescription
权限缺失可能间接导致SDK初始化流程异常,引发该错误。
- 相机权限:
在主线程执行会话连接
OpenTok API要求在主线程调用,需将session.connect逻辑切换至主线程:DispatchQueue.main.async { self.session?.connect(withToken: token, error: &error) if let error = error { print("Error connecting to session: \(error.localizedDescription)") } }
内容的提问来源于stack exchange,提问作者Théo MARIE
相关产品推荐
相关产品推荐

