TRTCCallingUtils.m 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // TUIUtils.m
  3. // TXIMSDK_TUIKit_iOS
  4. //
  5. // Created by xiangzhang on 2020/7/3.
  6. //
  7. #import "TRTCCallingUtils.h"
  8. @implementation TRTCCallingUtils
  9. + (TRTCCallingUtils *)shareInstance {
  10. static dispatch_once_t onceToken;
  11. static TRTCCallingUtils *g_sharedInstance = nil;
  12. dispatch_once(&onceToken, ^{
  13. g_sharedInstance = [[TRTCCallingUtils alloc] init];
  14. });
  15. return g_sharedInstance;
  16. }
  17. // 实际项目中建议由后台生成一个唯一 roomID,防止 roomID 重复
  18. + (NSString *)dictionary2JsonStr:(NSDictionary *)dict {
  19. return [[NSString alloc] initWithData:[self dictionary2JsonData:dict] encoding:NSUTF8StringEncoding];
  20. }
  21. + (NSDictionary *)jsonSring2Dictionary:(NSString *)jsonString {
  22. if (jsonString == nil) {
  23. return nil;
  24. }
  25. NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
  26. NSError *err = nil;
  27. NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err];
  28. if (err || ![dic isKindOfClass:[NSDictionary class]]) {
  29. NSLog(@"Json parse failed: %@", jsonString);
  30. return nil;
  31. }
  32. return dic;
  33. }
  34. + (NSData *)dictionary2JsonData:(NSDictionary *)dict {
  35. // 转成Json数据
  36. if ([NSJSONSerialization isValidJSONObject:dict])
  37. {
  38. NSError *error = nil;
  39. NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
  40. if(error)
  41. {
  42. NSLog(@"[%@] Post Json Error", [self class]);
  43. }
  44. return data;
  45. }
  46. else
  47. {
  48. NSLog(@"[%@] Post Json is not valid", [self class]);
  49. }
  50. return nil;
  51. }
  52. + (NSDictionary *)jsonData2Dictionary:(NSData *)jsonData {
  53. if (jsonData == nil) {
  54. return nil;
  55. }
  56. NSError *err = nil;
  57. NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err];
  58. if (err || ![dic isKindOfClass:[NSDictionary class]]) {
  59. NSLog(@"Json parse failed");
  60. return nil;
  61. }
  62. return dic;
  63. }
  64. @end