Commit ea21251d29b06b1966d0bea8fdd9740edb779142
1 parent
b070ccbc
0.1.32 版本,添加网络 和表情判断
Showing
3 changed files
with
91 additions
and
2 deletions
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 |