通过 OpenTok 的 iOS SDK 发送 OpenTokSignal
Posted
技术标签:
【中文标题】通过 OpenTok 的 iOS SDK 发送 OpenTokSignal【英文标题】:Sending a OpenTokSignal via OpenTok's iOS SDK 【发布时间】:2015-05-06 22:31:41 【问题描述】:我正在尝试从我的 ios 设备向我们的 OpenTok 信令服务器发送信号。
但是,从浏览器发送的有效负载会被 OpenTok 的 SDK 转换为 JSON 字符串。但是,当我使用有效负载(以字符串格式)发回信号时,我会转换我的 NSDictionary(使用以下块):
NSString *jsonString;
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
if (!jsonData)
NSLog(@"error: %@", error.localizedDescription);
jsonString = @"";
else
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF16StringEncoding];
return jsonString;
并发送这个字符串,它是在我的浏览器上接收到的。
[_session signalWithType:VC_WebRTC_Signal_Chat string:jsonString connection:nil error:&error];
但是,OpenTok 不会自动将此 JSONString 转换回 JSON 对象,并且返回的有效负载作为字符串返回。我应该使用 NSJSONSerialization 选项来处理这个问题吗?
【问题讨论】:
所以我理解您的问题:您正在将一个字符串传递给信号调用,并且您希望一个对象会在接收代表上返回? 【参考方案1】:信号接口只接受和吐出字符串。您负责执行您自己的高阶数据编码/解码。
在您的情况下,我认为您可能希望使用 JSONObjectWithData:options:error:
将您从委托回调 session:receivedSignalType:fromConnection:withString:
收到的字符串转换回字典/数组/任何内容。
完全披露:我为 TokBox 工作。
【讨论】:
以上是关于通过 OpenTok 的 iOS SDK 发送 OpenTokSignal的主要内容,如果未能解决你的问题,请参考以下文章
Ionic Cordova OpenTok 无法从 IOS 发布视频