ios - 通过 OpenTok 的 iOS SDK 发送 OpenTokSignal

标签 ios objective-c json nsjsonserialization opentok

我正在尝试从我的 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/

相关文章:

ios - 我创建了一个字符串扩展以在 swift 2.0 中将字符串与空格连接起来,但它在 swift 2.1 xcode 7 中不起作用

ios - 如何下载 Cocoalumberjack?

ios - 带有单元格 subview 的 UITableView 滚动性能不佳。

iphone - 在 Objective-C 中,我应该为 NSException 的异常名称使用什么名称?

javascript - 如何设置映射输入的嵌套 JSON 数组对象的状态

iphone - Cydia 应用程序可以使用 UIFileSharingEnabled 选项吗?

ios - 子类 AFHTTPRequestOperation Manager?

objective-c - UITableViewController 释放

json - 在sequelize where子句中使用ILIKE(JSON列)

javascript - 为什么我的无序列表的第一项不包含链接?