Commit ea21251d29b06b1966d0bea8fdd9740edb779142

Authored by daojian
1 parent b070ccbc

0.1.32 版本,添加网络 和表情判断

CNLiveBusinessTools.podspec
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 Pod::Spec.new do |s| 9 Pod::Spec.new do |s|
10 s.name = 'CNLiveBusinessTools' 10 s.name = 'CNLiveBusinessTools'
11 11
12 - s.version = '0.1.31' 12 + s.version = '0.1.32'
13 s.summary = '业务工具集合组件.' 13 s.summary = '业务工具集合组件.'
14 14
15 # This description is used to generate tags and improve search results. 15 # This description is used to generate tags and improve search results.
CNLiveBusinessTools/Classes/CNLiveBusinessTools.h
@@ -64,7 +64,11 @@ typedef NS_ENUM(NSInteger, CNFileType) { @@ -64,7 +64,11 @@ typedef NS_ENUM(NSInteger, CNFileType) {
64 + (NSDictionary *)fileTypeDic; 64 + (NSDictionary *)fileTypeDic;
65 //通过文件后缀名判断是否为可读文件 65 //通过文件后缀名判断是否为可读文件
66 + (CNFileType)isReadedFileByType:(NSString *)suffixType; 66 + (CNFileType)isReadedFileByType:(NSString *)suffixType;
67 -#pragma mark -- 67 +#pragma mark -- 网络判断
  68 ++ (BOOL)connectedToNetwork;
  69 +
  70 +#pragma mark -- 字符串是否包含表情判断
  71 ++ (BOOL)stringContainsEmoji:(NSString *)string;
68 #pragma mark -- 拼接需要的参数 72 #pragma mark -- 拼接需要的参数
69 + (NSString *)uuid; 73 + (NSString *)uuid;
70 + (NSString *)getSpid; 74 + (NSString *)getSpid;
CNLiveBusinessTools/Classes/CNLiveBusinessTools.m
@@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
9 #import <Photos/Photos.h> 9 #import <Photos/Photos.h>
10 #import <YYImage/YYImage.h> 10 #import <YYImage/YYImage.h>
11 #import <YYText/YYText.h> 11 #import <YYText/YYText.h>
  12 +#import <SystemConfiguration/SystemConfiguration.h>
  13 +#import <netinet/in.h>
12 @implementation CNLiveBusinessTools 14 @implementation CNLiveBusinessTools
13 15
14 /// 拼接音视频通话时长统计内容 16 /// 拼接音视频通话时长统计内容
@@ -1106,5 +1108,88 @@ @@ -1106,5 +1108,88 @@
1106 } 1108 }
1107 return attStr; 1109 return attStr;
1108 } 1110 }
  1111 +#pragma mark -- 网络判断
  1112 ++ (BOOL)connectedToNetwork
1109 1113
  1114 +{
  1115 + //创建零地址,0.0.0.0的地址表示查询本机的网络连接状态
  1116 +
  1117 + struct sockaddr_in zeroAddress;
  1118 +
  1119 + bzero(&zeroAddress, sizeof(zeroAddress));
  1120 +
  1121 + zeroAddress.sin_len = sizeof(zeroAddress);
  1122 +
  1123 + zeroAddress.sin_family = AF_INET;
  1124 +
  1125 +
  1126 + SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
  1127 +
  1128 + SCNetworkReachabilityFlags flags;
  1129 +
  1130 + //获得连接的标志
  1131 + BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
  1132 +
  1133 + CFRelease(defaultRouteReachability);
  1134 +
  1135 + //如果不能获取连接标志,则不能连接网络,直接返回
  1136 +
  1137 + if (!didRetrieveFlags)
  1138 +
  1139 + {
  1140 +
  1141 + return NO;
  1142 +
  1143 + }
  1144 +
  1145 + //根据获得的连接标志进行判断
  1146 +
  1147 + BOOL isReachable = flags & kSCNetworkFlagsReachable;
  1148 +
  1149 + BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
  1150 +
  1151 + return (isReachable && !needsConnection) ? YES : NO;
  1152 +
  1153 +}
  1154 +#pragma mark -- 字符串是否包含表情判断
  1155 ++ (BOOL)stringContainsEmoji:(NSString *)string
  1156 +{
  1157 +
  1158 + __block BOOL returnValue = NO;
  1159 + [string enumerateSubstringsInRange:NSMakeRange(0, [string length])
  1160 + options:NSStringEnumerationByComposedCharacterSequences
  1161 + usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
  1162 + if (substring.length > 0)
  1163 + {
  1164 + const unichar hs = [substring characterAtIndex:0];
  1165 + if (0x2194 <= hs && hs <= 0x2199) {
  1166 + returnValue = YES;
  1167 +
  1168 + }
  1169 + if (0x23e9 <= hs && hs <= 0x23fa) {
  1170 + returnValue = YES;
  1171 +
  1172 + }
  1173 + if (0x2600 <= hs && hs <= 0x2604)
  1174 + {
  1175 + returnValue = YES;
  1176 +
  1177 + }
  1178 + if (0x2648 <= hs && hs <= 0x2653) {
  1179 + returnValue = YES;
  1180 +
  1181 + }
  1182 +
  1183 + if (0x26f0 <= hs && hs <= 0x26fd) {
  1184 + returnValue = YES;
  1185 +
  1186 + }
  1187 + if ( hs == 0x203c || hs == 0x2049 || hs == 0x2122 || hs == 0x2139 || hs == 0x21a9 || hs == 0x21aa || hs == 0x231a || hs == 0x231b || hs == 0x2328 || hs == 0x23cf || hs == 0x24c2 || hs == 0x25b6 || hs == 0x25c0 || hs == 0x260e || hs == 0x2611 || hs == 0x2614 || hs == 0x2615 || hs == 0x2618 || hs == 0x261d || hs == 0x2620 || hs == 0x2622 || hs == 0x2623 || hs == 0x2626 || hs == 0x262a || hs == 0x262e || hs == 0x262f || hs == 0x2638 || hs == 0x2639 || hs == 0x263a || hs == 0x2668 || hs == 0x267b || hs == 0x267f || hs == 0x2692 || hs == 0x2693 || hs == 0x2694 || hs == 0x2696 || hs == 0x2697 || hs == 0x2699 || hs == 0x269b || hs == 0x269c || hs == 0x26a0 || hs == 0x26a1 || hs == 0x26b0 || hs == 0x26b1 || hs == 0x26bd || hs == 0x26be || hs == 0x26c4 || hs == 0x26c5 || hs == 0x26c8 || hs == 0x26ce || hs == 0x26cf || hs == 0x26d1 || hs == 0x26d3 || hs == 0x26d4 || hs == 0x26e9 || hs == 0x26ea || hs == 0x2702 || hs == 0x2705 || hs == 0x2708 || hs == 0x2709 || hs == 0x270a || hs == 0x270b || hs == 0x270c || hs == 0x270d || hs == 0x270f || hs == 0x2712 || hs == 0x2714 || hs == 0x2716 || hs == 0x271d || hs == 0x2721 || hs == 0x2728 || hs == 0x2733 || hs == 0x2734 || hs == 0x2744 || hs == 0x2747 || hs == 0x274c || hs == 0x274e || hs == 0x2753 || hs == 0x2754 || hs == 0x2755 || hs == 0x2757 || hs == 0x2763 || hs == 0x2764 || hs == 0x2795 || hs == 0x2796 || hs == 0x2797 || hs == 0x27a1 || hs == 0x27b0 || hs == 0x27bf || hs == 0x2934 || hs == 0x2935 || hs == 0x2b05 || hs == 0x2b06 || hs == 0x2b07 || hs == 0x2b50 || hs == 0x2b55 || hs == 0x3030 || hs == 0x303d || hs == 0x3297 || hs == 0x3299 || hs == 0x2a || hs == 0xa9 || hs == 0xae || hs == 0xd83c || hs == 0xd83d || hs == 0xd83e)
  1188 + {
  1189 + returnValue = YES;
  1190 + }
  1191 + }
  1192 + }];
  1193 + return returnValue;
  1194 +}
1110 @end 1195 @end