SMSDemoHelper.m 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. //
  2. // SMSDemoHelper.m
  3. // SMSSDKDemo
  4. //
  5. // Created by hower on 2020/1/2.
  6. // Copyright © 2020 youzu. All rights reserved.
  7. //
  8. #import "SMSDemoHelper.h"
  9. @implementation SMSDemoHelper
  10. + (NSString *)currentZone
  11. {
  12. NSLocale *locale = [NSLocale currentLocale];
  13. NSString *defaultCode = [[self _zoneCodes] objectForKey:[locale objectForKey:NSLocaleCountryCode]];
  14. return [@"+" stringByAppendingString:defaultCode];
  15. }
  16. + (NSString *)currentCountryName
  17. {
  18. NSLocale *locale = [NSLocale currentLocale];
  19. return [locale displayNameForKey:NSLocaleCountryCode value:[locale objectForKey:NSLocaleCountryCode]];
  20. }
  21. + (NSDictionary *)_zoneCodes
  22. {
  23. return [NSDictionary dictionaryWithObjectsAndKeys:@"972", @"IL",
  24. @"93", @"AF", @"355", @"AL", @"213", @"DZ", @"1", @"AS",
  25. @"376", @"AD", @"244", @"AO", @"1", @"AI", @"1", @"AG",
  26. @"54", @"AR", @"374", @"AM", @"297", @"AW", @"61", @"AU",
  27. @"43", @"AT", @"994", @"AZ", @"1", @"BS", @"973", @"BH",
  28. @"880", @"BD", @"1", @"BB", @"375", @"BY", @"32", @"BE",
  29. @"501", @"BZ", @"229", @"BJ", @"1", @"BM", @"975", @"BT",
  30. @"387", @"BA", @"267", @"BW", @"55", @"BR", @"246", @"IO",
  31. @"359", @"BG", @"226", @"BF", @"257", @"BI", @"855", @"KH",
  32. @"237", @"CM", @"1", @"CA", @"238", @"CV", @"345", @"KY",
  33. @"236", @"CF", @"235", @"TD", @"56", @"CL", @"86", @"CN",
  34. @"61", @"CX", @"57", @"CO", @"269", @"KM", @"242", @"CG",
  35. @"682", @"CK", @"506", @"CR", @"385", @"HR", @"53", @"CU",
  36. @"537", @"CY", @"420", @"CZ", @"45", @"DK", @"253", @"DJ",
  37. @"1", @"DM", @"1", @"DO", @"593", @"EC", @"20", @"EG",
  38. @"503", @"SV", @"240", @"GQ", @"291", @"ER", @"372", @"EE",
  39. @"251", @"ET", @"298", @"FO", @"679", @"FJ", @"358", @"FI",
  40. @"33", @"FR", @"594", @"GF", @"689", @"PF", @"241", @"GA",
  41. @"220", @"GM", @"995", @"GE", @"49", @"DE", @"233", @"GH",
  42. @"350", @"GI", @"30", @"GR", @"299", @"GL", @"1", @"GD",
  43. @"590", @"GP", @"1", @"GU", @"502", @"GT", @"224", @"GN",
  44. @"245", @"GW", @"595", @"GY", @"509", @"HT", @"504", @"HN",
  45. @"36", @"HU", @"354", @"IS", @"91", @"IN", @"62", @"ID",
  46. @"964", @"IQ", @"353", @"IE", @"972", @"IL", @"39", @"IT",
  47. @"1", @"JM", @"81", @"JP", @"962", @"JO", @"77", @"KZ",
  48. @"254", @"KE", @"686", @"KI", @"965", @"KW", @"996", @"KG",
  49. @"371", @"LV", @"961", @"LB", @"266", @"LS", @"231", @"LR",
  50. @"423", @"LI", @"370", @"LT", @"352", @"LU", @"261", @"MG",
  51. @"265", @"MW", @"60", @"MY", @"960", @"MV", @"223", @"ML",
  52. @"356", @"MT", @"692", @"MH", @"596", @"MQ", @"222", @"MR",
  53. @"230", @"MU", @"262", @"YT", @"52", @"MX", @"377", @"MC",
  54. @"976", @"MN", @"382", @"ME", @"1", @"MS", @"212", @"MA",
  55. @"95", @"MM", @"264", @"NA", @"674", @"NR", @"977", @"NP",
  56. @"31", @"NL", @"599", @"AN", @"687", @"NC", @"64", @"NZ",
  57. @"505", @"NI", @"227", @"NE", @"234", @"NG", @"683", @"NU",
  58. @"672", @"NF", @"1", @"MP", @"47", @"NO", @"968", @"OM",
  59. @"92", @"PK", @"680", @"PW", @"507", @"PA", @"675", @"PG",
  60. @"595", @"PY", @"51", @"PE", @"63", @"PH", @"48", @"PL",
  61. @"351", @"PT", @"1", @"PR", @"974", @"QA", @"40", @"RO",
  62. @"250", @"RW", @"685", @"WS", @"378", @"SM", @"966", @"SA",
  63. @"221", @"SN", @"381", @"RS", @"248", @"SC", @"232", @"SL",
  64. @"65", @"SG", @"421", @"SK", @"386", @"SI", @"677", @"SB",
  65. @"27", @"ZA", @"500", @"GS", @"34", @"ES", @"94", @"LK",
  66. @"249", @"SD", @"597", @"SR", @"268", @"SZ", @"46", @"SE",
  67. @"41", @"CH", @"992", @"TJ", @"66", @"TH", @"228", @"TG",
  68. @"690", @"TK", @"676", @"TO", @"1", @"TT", @"216", @"TN",
  69. @"90", @"TR", @"993", @"TM", @"1", @"TC", @"688", @"TV",
  70. @"256", @"UG", @"380", @"UA", @"971", @"AE", @"44", @"GB",
  71. @"1", @"US", @"598", @"UY", @"998", @"UZ", @"678", @"VU",
  72. @"681", @"WF", @"967", @"YE", @"260", @"ZM", @"263", @"ZW",
  73. @"591", @"BO", @"673", @"BN", @"61", @"CC", @"243", @"CD",
  74. @"225", @"CI", @"500", @"FK", @"44", @"GG", @"379", @"VA",
  75. @"852", @"HK", @"98", @"IR", @"44", @"IM", @"44", @"JE",
  76. @"850", @"KP", @"82", @"KR", @"856", @"LA", @"218", @"LY",
  77. @"853", @"MO", @"389", @"MK", @"691", @"FM", @"373", @"MD",
  78. @"258", @"MZ", @"970", @"PS", @"872", @"PN", @"262", @"RE",
  79. @"7", @"RU", @"590", @"BL", @"290", @"SH", @"1", @"KN",
  80. @"1", @"LC", @"590", @"MF", @"508", @"PM", @"1", @"VC",
  81. @"239", @"ST", @"252", @"SO", @"47", @"SJ", @"963", @"SY",
  82. @"886", @"TW", @"255", @"TZ", @"670", @"TL", @"58", @"VE",
  83. @"84", @"VN", @"1", @"VG", @"1", @"VI", nil];
  84. }
  85. + (NSString *)errorTextWithError:(NSError *)error
  86. {
  87. if(error && error.userInfo && error.userInfo[@"description"])
  88. {
  89. return error.userInfo[@"description"];
  90. }
  91. if(error && error.userInfo && error.userInfo[NSLocalizedDescriptionKey])
  92. {
  93. return error.userInfo[NSLocalizedDescriptionKey];
  94. }
  95. return [NSString stringWithFormat:@"%@",error];
  96. }
  97. + (BOOL)isZhHans
  98. {
  99. BOOL isHans = NO;
  100. NSArray *languages = [NSBundle mainBundle].preferredLocalizations;
  101. if (languages.count)
  102. {
  103. NSString *firstStr = languages.firstObject;
  104. if([firstStr isEqualToString:@"zh"]
  105. || [firstStr isEqualToString:@"zh-Hans"])
  106. {
  107. isHans = YES;
  108. }
  109. }
  110. return isHans;
  111. }
  112. @end