我正在尝试从我的 iOS 设备向我们的 OpenTok 信令服务器发送信号。
但是,当从浏览器发送有效负载时,OpenTok 的 SDK 会将其转换为 JSON 字符串。但是,当我用有效负载(以字符串格式)发回信号时,我会转换 NSDictionary(使用以下 block ):
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 选项来处理这个问题吗?
最佳答案
信号接口(interface)仅获取并吐出字符串。您负责执行自己的高阶数据编码/解码。
就您而言,我认为您可能希望使用 JSONObjectWithData:options:error:
来转换从委托(delegate)回调接收的字符串 session:receivedSignalType:fromConnection:withString:
返回到字典/数组/任何内容。
全面披露:我为 TokBox 工作。
关于ios - 通过 OpenTok 的 iOS SDK 发送 OpenTokSignal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088832/