| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396 |
- //
- // NewUtils.m
- // MingMen
- //
- // Created by 罗云飞 on 2017/3/9.
- // Copyright © 2017年 罗云飞. All rights reserved.
- //
- #import "NewUtils.h"
- #import <CommonCrypto/CommonDigest.h>
- #import <UIKit/UIKit.h>
- #import <math.h>
- #import <net/if.h>
- #import <net/if_dl.h>
- #import <mach/mach.h>
- #import <mach/mach_host.h>
- #import <sys/socket.h>
- #import <sys/sysctl.h>
- #import <sys/types.h>
- #import <ifaddrs.h>
- #include <arpa/inet.h>
- #include <netdb.h>
- #include <net/if.h>
- #include <ifaddrs.h>
- #import <dlfcn.h>
- #import <SystemConfiguration/SystemConfiguration.h>
- #import <sys/utsname.h>
- @implementation NewUtils
- /*
- static NSString* gAccount = @"";//账号
- static NSString* gPassword = @"";//密码
- static NSString* gAuthorid = @"";//账号ID
- static NSString* gUserName = @"";//用户名称
- static NSString* gUserHeadImage = @"";//用户头像
- static NSString* gUdid = @"";//UDID
- static NSString* gAppkey = @"";//appkey
- static NSString* gReg_time = @"";//注册时间
- static NSString* gMobile_phone = @"";//手机号
- static NSString* gShoppingCartNumber = @"0";//购物车数量
- static BOOL gShoppingCartFlag = NO;
- */
- static NSString* gPGCCert = @"";//PGC认证才可以选择专辑 0、未认证 1、已认证
- //是否PGC认证
- +(void)setPGCCert:(NSString*)pgcCert
- {
- gPGCCert = pgcCert;
- }
- +(NSString*)getPGCCert
- {
- return gPGCCert;
- }
- /*
- //用户名称
- +(void)setUserName:(NSString*)userName
- {
- gUserName = userName;
- }
- +(NSString*)getUserName
- {
- return gUserName;
- }
- //用户头像
- +(void)setUserHeadImage:(NSString*)userHeadImage
- {
- gUserHeadImage = userHeadImage;
- }
- +(NSString*)getUserHeadImage
- {
- return gUserHeadImage;
- }
- //账号
- +(void)setAccount:(NSString*)account
- {
- gAccount = account;
- }
- +(NSString*)getAccount
- {
- return gAccount;
- }
- //密码
- +(void)setPassword:(NSString*)password
- {
- gPassword = password;
- }
- +(NSString*)getPassword
- {
- return gPassword;
- }
- //账号ID
- +(void)setAuthorid:(NSString*)authorid
- {
- gAuthorid = authorid;
- }
- +(NSString*)getAuthorid
- {
- return gAuthorid;
- }
- //UDID
- +(void)set_UDID:(NSString*)udid
- {
- gUdid = udid;
- }
- + (NSString*)get_UDID
- {
- return gUdid;//
- }
- //验证码
- +(void)set_Appkey:(NSString *)appkey
- {
- gAppkey = appkey;
- }
- +(NSString*)get_Appkey
- {
- return gAppkey;
- }
- //注册时间
- +(void)set_reg_time:(NSString *)time
- {
- gReg_time = time;
- }
- +(NSString*)get_reg_time
- {
- return gReg_time;
- }
- //手机号
- +(void)set_mobile_phone:(NSString *)phone
- {
- gMobile_phone = phone;
- }
- +(NSString*)get_mobile_phone
- {
- return gMobile_phone;
- }
- //购物车数量
- +(void)setShoppingCartNumber:(NSString *)number
- {
- gShoppingCartNumber = number;
- }
- +(NSString *)getShoppingCartNumber
- {
- return gShoppingCartNumber;
- }
- //购物车跳转登录
- +(void)setShoppingCartLogin:(BOOL)flag
- {
- gShoppingCartFlag = flag;
- }
- +(BOOL)getShoppingCartLogin
- {
- return gShoppingCartFlag;
- }
- //农博汇项目请求接口的实时时间
- + (NSString *)get_req_time
- {
- //年月日时分秒毫秒
- NSTimeInterval curTime = [[NSDate date] timeIntervalSince1970];
- double dtime = (double)curTime;
- NSDateFormatter* format = [[NSDateFormatter alloc] init];
- [format setDateFormat:@"yyyyMMddHHmmss"];
- NSString* timeString = [format stringFromDate:[NSDate dateWithTimeIntervalSince1970:dtime]];
-
-
- // NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
- // NSTimeInterval a=[dat timeIntervalSince1970]*1000;
- // NSString *timeString = [NSString stringWithFormat:@"%f", a];////转为字符型
-
-
- // NSDate *date = [NSDate date];
- // NSString *timeString = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];
-
- return timeString;
- }
- //公用接口的请求时间
- +(NSString*)get_publicInterface_time
- {
- NSDate *date = [NSDate date];
- return [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];
- }
- */
- /*验证正则表达式*/
- + (BOOL)matchRegularExpression:(NSString*)text match:(NSString*)match
- {
- NSError *error;
-
- NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:match options:0 error:&error];
-
- if (regex != nil)
- {
- NSTextCheckingResult *firstMatch = [regex firstMatchInString:text options:0 range:NSMakeRange(0, [text length])];
-
- if (firstMatch)
- {
- return YES;
- }
- }
-
- return NO;
-
- }
- /**
- @method 获取指定宽度width,字体大小fontSize,字符串value的高度
- @param value 待计算的字符串
- @param fontSize 字体的大小
- @param width 限制字符串显示区域的宽度
- @result float 返回的高度
- */
- + (CGFloat) heightforString:(NSString *)value andWidth:(CGFloat)width fontSize:(CGFloat)fontSize{
- return [value boundingRectWithSize:CGSizeMake(width, 1000000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:fontSize] forKey:NSFontAttributeName] context:nil].size.height;
-
- }
- + (CGFloat) heightforString:(NSString *)value andHeight:(CGFloat)height fontSize:(CGFloat)fontSize{
- return [value boundingRectWithSize:CGSizeMake(100000, height) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:fontSize] forKey:NSFontAttributeName] context:nil].size.width;
- }
- + (CGFloat) heightforString:(NSString *)value andHeight:(CGFloat)height XfontSize:(CGFloat)XfontSize{
- return [value boundingRectWithSize:CGSizeMake(100000, height) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:[UIFont boldSystemFontOfSize:XfontSize] forKey:NSFontAttributeName] context:nil].size.width;
- }
- + (CGFloat) heightforString:(NSString *)value andWidth:(CGFloat)width AutofontSize:(CGFloat)AutofontSize{
- return [value boundingRectWithSize:CGSizeMake(width, 1000000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:NewAutoFont(AutofontSize) forKey:NSFontAttributeName] context:nil].size.height;
- }
- + (CGFloat) heightforString:(NSString *)value andHeight:(CGFloat)height AutofontSize:(CGFloat)AutofontSize{
- return [value boundingRectWithSize:CGSizeMake(100000, height) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:NewAutoFont(AutofontSize) forKey:NSFontAttributeName] context:nil].size.width;
- }
- +(BOOL)luhn:(NSString*)bank//for checkBankCard
- {
- int s1 = 0;
- int s2 = 0;
-
- NSString* reverse = [NewUtils reverseString:bank];
- NSInteger length = reverse.length;
- NSRange range;
-
- for (int i=0; i<length; i++)
- {
- range = NSMakeRange (i, 1);
- int digit = [[reverse substringWithRange:range] intValue];
- if(i % 2 == 0)//this is for odd digits, they are 1-indexed in the algorithm
- {
- s1 += digit;
- }
- else//add 2 * digit for 0-4, add 2 * digit - 9 for 5-9
- {
- s2 += 2 * digit;
- if(digit >= 5)
- {
- s2 -= 9;
- }
- }
- }
-
- return (s1 + s2) % 10 == 0;
- }
- +(NSString*)reverseString:(NSString*)str
- {
- NSUInteger len = [str length];
- NSMutableString *reverse = [NSMutableString stringWithCapacity:len];
- while(len>0)
- {
- //从后取一个字符
- unichar c = [str characterAtIndex:--len];
- NSString *s = [NSString stringWithFormat:@"%C",c];
- [reverse appendString:s];
- }
- return reverse;
- }
- /*银行卡号码验证*/
- +(BOOL)checkBankCard:(NSString*)bank
- {
- NSString* mach = @"^(^\\d{16}$|^\\d{19}$)$";
-
- if (bank.length <= 0 || ![NewUtils matchRegularExpression:bank match:mach])
- {
- return NO;
- }
-
- return [NewUtils luhn:bank];
- }
- /*身份证的判断*/
- +(BOOL)checkIdentity:(NSString*)identity
- {
- if (identity.length <= 0)
- {
- return false;
- }
-
- if([NewUtils checkCid:identity] == 0)
- {
- return true;
- }
-
- return false;
- }
- +(int) checkCid:(NSString*)identity
- {
- /**
- * 0:合法 1:非法格式 2:非法地区 3:非法生日 4:非法校验
- * */
- NSString* match = @"^(^\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";
- if (![NewUtils matchRegularExpression:identity match:match])
- {
- return 1;
- }
-
- //NSArray* areas = [NSArray arrayWithObjects:@"", @"安微",@"",nil];
-
- NSArray* areas = [NSArray arrayWithObjects:@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"北京", @"天津", @"河北", @"山西", @"内蒙古", @"", @"",@"", @"", @"", @"辽宁", @"吉林", @"黑龙江", @"", @"", @"", @"", @"", @"", @"", @"上海", @"江苏", @"浙江", @"安微", @"福建", @"江西", @"山东", @"", @"",@"", @"河南", @"湖北", @"湖南", @"广东", @"广西", @"海南", @"", @"", @"", @"重庆", @"四川", @"贵州", @"云南", @"西藏", @"", @"", @"", @"", @"", @"", @"陕西",@"甘肃", @"青海", @"宁夏", @"新疆", @"", @"", @"", @"", @"", @"台湾", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"香港", @"澳门", @"",@"", @"", @"", @"", @"", @"", @"", @"国外", @"", @"", @"", @"", @"", @"", @"", @"", nil];
-
- // 地区
- NSRange range = NSMakeRange (0, 2);
- int areacode = [[identity substringWithRange:range] intValue];
- NSString* string = [areas objectAtIndex:areacode];
-
- if (string.length == 0)
- {
- return 2;
- }
-
- // 生日
- NSString* dateStrSrc = nil;
-
- if (identity.length == 18)
- {
- range = NSMakeRange (6, 8);
- dateStrSrc = [identity substringWithRange:range];
- }
- else
- {
- range = NSMakeRange (6, 6);
- dateStrSrc = [NSString stringWithFormat:@"%d%@",19,[identity substringWithRange:range]];
- }
-
- //range = NSMakeRange (0, 4);
- // NSString* str = [dateStrSrc substringWithRange:range];
- //range = NSMakeRange (4, 2);
- NSString* str1 = nil;//[dateStrSrc substringWithRange:range];
- //range = NSMakeRange (6, 2);
- NSString* str2 = nil;//[dateStrSrc substringWithRange:range];
- //NSString* dateStr = [NSString stringWithFormat:@"%@-%@-%@",str,str1,str2];
- // 校验位比对
- if (identity.length == 18)
- {
- NSMutableArray* wi = [NSMutableArray arrayWithCapacity:17];
-
- for (int i=0; i<17; i++)
- {
- int k = pow(2,(17-i));
- int v = k % 11;
- str2 = [NSString stringWithFormat:@"%d",v];
- [wi addObject:str2];
- }
-
- int sum = 0;
- int t = 0;
- int t2 = 0;
-
- // 进行加权求和
- for (int i = 0; i < 17; i++)
- {
- range = NSMakeRange (i, 1);
- t = [[identity substringWithRange:range] intValue];
- t2 = [[wi objectAtIndex:i] intValue];
- sum += t * t2;
- }
-
- // 取模运算,得到模值
- int code = sum % 11;
- NSString* checkCode = @"10X98765432";
- range = NSMakeRange (code, 1);
- NSString* check = [checkCode substringWithRange:range];
- range = NSMakeRange (17, 1);
- str1 = [identity substringWithRange:range];
- if (NSOrderedSame != [str1 compare:check options:NSCaseInsensitiveSearch])
- {
- return 4;
- }
- }
- // 男女
- if (identity.length == 18)
- {
- range = NSMakeRange (16, 1);
- str1 = [identity substringWithRange:range];
-
- if ([str1 intValue]%2 == 1)
- {
- //NSLog(@"sex = 男");
- }
- else
- {
- //NSLog(@"sex = 女");
- }
- }
- else
- {
- range = NSMakeRange (13, 1);
- str1 = [identity substringWithRange:range];
-
- if ([str1 intValue]%2 == 1)
- {
- //NSLog(@"sex = 男");
- }
- else
- {
- //NSLog(@"sex = 女");
- }
- }
-
- return 0;
- }
- +(BOOL)checkMobilePhone:(NSString*) mobilePhone
- {
- if (mobilePhone.length <= 0)
- {
- return NO;
- }else if (mobilePhone.length == 11)
- {
- return YES;
- }
-
-
-
- if (mobilePhone.length <= 0)
- {
- return NO;
- }
-
- NSArray * mobilePhoneStarts = [NSArray arrayWithObjects:@"106|移动", @"130|联通", @"131|联通", @"132|联通", @"133|电信", @"134|移动", @"135|移动", @"136|移动", @"137|移动", @"138|移动", @"139|移动",@"145|联通", @"147|移动", @"150|移动", @"152|移动", @"153|电信", @"155|联通", @"156|联通", @"157|移动", @"158|移动", @"159|移动",@"180|电信", @"181|电信", @"182|移动", @"183|移动",@"184|移动", @"185|联通", @"186|联通", @"187|移动", @"188|移动", @"189|电信",@"151|移动",@"177|电信",nil];
-
- NSString* regex1MobilePhone = @"^\\d{11}$";
- NSString* regex2MobilePhone = @"^(86)\\d{11}$";
- NSString* regex3MobilePhone = @"^(\\+86)\\d{11}$";
-
- NSRange range = NSMakeRange (0, 3);
- if ([NewUtils matchRegularExpression:mobilePhone match:regex1MobilePhone])
- {
- NSString* temp1 = nil;
- NSString* temp2 = nil;
-
- for (NSString* mobilePhoneStart in mobilePhoneStarts)
- {
- temp1 = [mobilePhoneStart substringWithRange:range];
- temp2 = [mobilePhone substringWithRange:range];
- if (NSOrderedSame == [temp1 compare:temp2 options:NSCaseInsensitiveSearch])
- {
- return YES;
- }
- }
-
-
- }
-
- if ([NewUtils matchRegularExpression:mobilePhone match:regex2MobilePhone])
- {
- NSString* temp1 = nil;
- NSString* temp2 = nil;
- for (NSString* mobilePhoneStart in mobilePhoneStarts)
- {
- temp1 = [mobilePhoneStart substringWithRange:range];
- range = NSMakeRange (2, 3);
- temp2 = [mobilePhone substringWithRange:range];
-
- if (NSOrderedSame == [temp1 compare:temp2 options:NSCaseInsensitiveSearch])
- {
- return YES;
- }
- }
- }
-
- if ([NewUtils matchRegularExpression:mobilePhone match:regex3MobilePhone])
- {
- NSString* temp1 = nil;
- NSString* temp2 = nil;
-
- for (NSString* mobilePhoneStart in mobilePhoneStarts)
- {
- temp1 = [mobilePhoneStart substringWithRange:range];
- range = NSMakeRange (3, 3);
- temp2 = [mobilePhone substringWithRange:range];
-
- if (NSOrderedSame == [temp1 compare:temp2 options:NSCaseInsensitiveSearch])
- {
- return YES;
- }
- }
- }
-
- return NO;
- }
- /*数字检测*/
- + (BOOL)checkInterNum:(NSString *)num
- {
- NSScanner* scan = [NSScanner scannerWithString:num];
-
- int val;
-
- return [scan scanInt:&val] && [scan isAtEnd];
- }
- /*检测中文*/
- + (BOOL)checkName:(NSString *)name
- {
- if (name.length <= 0)
- {
- return NO;
- }
-
- NSString* mach = @"^[\u4e00-\u9fa5]([\u4e00-\u9fa5]){1,6}$";
-
- return [NewUtils matchRegularExpression:name match:mach];
- }
- /*判断密码 特殊符号跟中文不通过*/
- + (BOOL)checkPassword:(NSString *)password
- {
- if (password.length <= 0)
- {
- return NO;
- }
-
- NSString* mach = @"^[a-zA-Z0-9]{6,20}$";
-
- return [NewUtils matchRegularExpression:password match:mach];
- }
- /*特殊符号*/
- +(BOOL)cheeckNotChina:(NSString*)number
- {
-
- if (number.length <= 0)
- {
- return NO;
- }
-
- NSString* mach = @"/^([\u4E00-\u9FA5]|\\w)*$/";
-
- return [NewUtils matchRegularExpression:number match:mach];
-
- }
- + (BOOL)checkEmail:(NSString *)email
- {
- if (email.length <= 0)
- {
- return NO;
- }
-
- NSString* mach = @"^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
-
- return [NewUtils matchRegularExpression:email match:mach];
- }
- /**
- 压图片质量
- 压图片质量和缩小图片大小相结合
- @param image image
- @return Data
- */
- + (NSData *)zipImageWithImage:(UIImage *)image
- {
- if (!image) {
- return nil;
- }
- CGFloat maxFileSize = 32*1024;
- CGFloat compression = 0.9f;
- NSData *compressedData = UIImageJPEGRepresentation(image, compression);
- while ([compressedData length] > maxFileSize) {
- compression *= 0.9;
- compressedData = UIImageJPEGRepresentation([NewUtils compressImage:image newWidth:image.size.width*compression], compression);
- }
- return compressedData;
- }
- /**
- * 等比缩放本图片大小
- *
- * @param newImageWidth 缩放后图片宽度,像素为单位
- *
- * @return self-->(image)
- */
- + (UIImage *)compressImage:(UIImage *)image newWidth:(CGFloat)newImageWidth
- {
- if (!image) return nil;
- float imageWidth = image.size.width;
- float imageHeight = image.size.height;
- float width = newImageWidth;
- float height = image.size.height/(image.size.width/width);
-
- float widthScale = imageWidth /width;
- float heightScale = imageHeight /height;
-
- // 创建一个bitmap的context
- // 并把它设置成为当前正在使用的context
- UIGraphicsBeginImageContext(CGSizeMake(width, height));
-
- if (widthScale > heightScale) {
- [image drawInRect:CGRectMake(0, 0, imageWidth /heightScale , height)];
- }
- else {
- [image drawInRect:CGRectMake(0, 0, width , imageHeight /widthScale)];
- }
-
- // 从当前context中创建一个改变大小后的图片
- UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
- // 使当前的context出堆栈
- UIGraphicsEndImageContext();
-
- return newImage;
- }
- /*图片质量进行压缩*/
- - (NSData *)returnsTheSizeAccordingToThePicture:(UIImage *)image
- {
- NSData *imageData1=UIImagePNGRepresentation(image);
- NSData *imageData;
-
- NSInteger sum=[self setCalculatingPictureSize:imageData1];
- switch (sum) {
- case 0:{//少于300KB
- imageData=UIImageJPEGRepresentation(image, 1.0f);
- }
- break;
- case 1:{//超过300kb少于1000kb
- imageData=UIImageJPEGRepresentation(image, 0.8f);
- }
- break;
- case 2:{//超过1000KB少于2000kb
- imageData=UIImageJPEGRepresentation(image, 0.65f);
- }
- break;
- case 3:{//超过20000KB
- imageData=UIImageJPEGRepresentation(image, 0.5f);
- }
- break;
- default:
- break;
- }
-
- return imageData;
- }
- //用于计算图片大小
- - (NSInteger)setCalculatingPictureSize:(NSData *)image
- {
- NSInteger sum=0;
- CGFloat scale=(image.length/1024);
- if (scale>300&&scale<=1000) {
- sum=1;
- }else if(scale>1000&&scale<=2000){
- sum=2;
- }else if (scale>2000){
- sum=3;
- }
-
- return sum;
- }
- /**
- * 图片压缩到指定大小
- * @param targetSize 目标图片的大小
- * @param sourceImage 源图片
- * @return 目标图片
- */
- + (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize withSourceImage:(UIImage *)sourceImage
- {
- UIImage *newImage = nil;
- CGSize imageSize = sourceImage.size;
- CGFloat width = imageSize.width;
- CGFloat height = imageSize.height;
- CGFloat targetWidth = targetSize.width;
- CGFloat targetHeight = targetSize.height;
- CGFloat scaleFactor = 0.0;
- CGFloat scaledWidth = targetWidth;
- CGFloat scaledHeight = targetHeight;
- CGPoint thumbnailPoint = CGPointMake(0.0,0.0);
- if (CGSizeEqualToSize(imageSize, targetSize) == NO)
- {
- CGFloat widthFactor = targetWidth / width;
- CGFloat heightFactor = targetHeight / height;
- if (widthFactor > heightFactor)
- scaleFactor = widthFactor; // scale to fit height
- else
- scaleFactor = heightFactor; // scale to fit width
- scaledWidth= width * scaleFactor;
- scaledHeight = height * scaleFactor;
- // center the image
- if (widthFactor > heightFactor)
- {
- thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5;
- }
- else if (widthFactor < heightFactor)
- {
- thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5;
- }
- }
- UIGraphicsBeginImageContext(targetSize); // this will crop
- CGRect thumbnailRect = CGRectZero;
- thumbnailRect.origin = thumbnailPoint;
- thumbnailRect.size.width= scaledWidth;
- thumbnailRect.size.height = scaledHeight;
-
- [sourceImage drawInRect:thumbnailRect];
- newImage = UIGraphicsGetImageFromCurrentImageContext();
- if(newImage == nil)
- NSLog(@"could not scale image");
-
- //pop the context to get back to the default
- UIGraphicsEndImageContext();
-
- return newImage;
- }
- /*图片拉伸*/
- + (UIImage *)stretchImage:(UIImage *)img edgeInsets:(UIEdgeInsets)inset
- {
- if ([img respondsToSelector:@selector(resizableImageWithCapInsets:resizingMode:)])
- {
- img = [img resizableImageWithCapInsets:inset resizingMode:UIImageResizingModeStretch];
- }
- else if ([img respondsToSelector:@selector(resizableImageWithCapInsets:)])
- {
- img = [img resizableImageWithCapInsets:inset];
- }
-
- return img;
- }
- /*字符串转DATE*/
- +(NSString*)dataToString:(NSData*)data
- {
- return [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
- }
- /*DATA转字符串*/
- +(NSData*)stringToData:(NSString*)string
- {
- return [string dataUsingEncoding: NSASCIIStringEncoding];
- }
- /*转化日期*/
- +(NSString *)shijian:(NSString *)time{
- // timeStampString 是服务器返回的13位时间戳
- NSString *timeStampString = time;
-
- // iOS 生成的时间戳是10位
- NSTimeInterval interval =[timeStampString doubleValue] / 1000.0;
- NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];
-
- NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
- [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
- NSString *dateString = [formatter stringFromDate: date];
- return dateString;
- }
- /*转化日期*/
- + (NSDateComponents *)componentsOfDate:(NSDate *)date
- {
- NSDate *aDate = date ? date : [NSDate date];
- NSCalendar *calendar = [NSCalendar currentCalendar];
- unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
-
- return [calendar components:unitFlags fromDate:aDate];
- }
- + (NSString *)stringToFromDate:(NSDate *)date
- {
- NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
- [formatter setDateFormat:@"yyyyMMddHHmmssSSS"];//@"yyyy-MM-dd HH:mm:ss:SSS"
- return [formatter stringFromDate:date];
- }
- /*返回1970年距离至今的时间差*/
- + (NSString *)returnTime
- {
- NSDate *date = [NSDate date];
- return [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];
- }
- /*判断数字输入错误的集合*/
- + (NSInteger)doTextFieldDelegate:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
- {
- NSInteger result = 0;
- NSInteger length = [textField.text length] + [string length];
-
- if (range.length > 0)
- {
- length--;
- }
-
- if (length > 0)
- {
- if (textField.text.length <=0)
- {
- if (string.length >=2)
- {
- if ([[string substringToIndex:1] isEqualToString:@"0"])
- {
- result = 6;
- }
- }
- }
-
- if ([textField.text isEqualToString:@"0"])
- {
- if (![string isEqualToString:@"."])
- {
- result = 5;
- }
- }
-
- if(length > 8)//大于八位数
- {
- result = 3;
- }
- else
- {
- NSRange textRange = [textField.text rangeOfString:@"."];
- NSArray* textArr = [textField.text componentsSeparatedByString:@"."];
-
- if (textRange.length > 0)//如果已经有小数点时
- {
- if ([[textArr objectAtIndex:1] length]>=2 && string.length>0)//只能保留二位小数
- {
- result = 1;
- }
- }
- else //如果还没有小数点时
- {
- if ([string isEqualToString:@"."])//输入小数点时
- {
- if ([textField.text length] <= 0)//第一位不能输入小数点
- {
- result = 2;
- }
- }
- }
- }
- }
-
- return result;
- }
- /*拨打电话*/
- +(void)callTel:(NSString*)tel
- {
- NSMutableString * str=[[NSMutableString alloc] initWithCapacity:50];
- [str appendString:@"tel://"];
- [str appendString:tel];
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
- }
- /*弹框*/
- + (void)alertWithMsg:(NSString*)msg delegate:(id<UIAlertViewDelegate>)sender andTag:(NSInteger)tag title:(NSString *)title cancelButtonTitle:(NSString*)cancelButtonTitle otherButtonTitles1:(NSString *)otherButtonTitles1 otherButtonTitles2:(NSString *)otherButtonTitles2 otherButtonTitles3:(NSString *)otherButtonTitles3 otherButtonTitles4:(NSString *)otherButtonTitles4 otherButtonTitles5:(NSString *)otherButtonTitles5 otherButtonTitles6:(NSString *)otherButtonTitles6
- {
- UIAlertView *view = [[UIAlertView alloc] initWithTitle:title message:msg delegate:sender cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitles1,otherButtonTitles2,otherButtonTitles3,otherButtonTitles4,otherButtonTitles5,otherButtonTitles6, nil];
- view.tag = tag;
- [view show];
- }
- + (NSString *) getSysInfoByName:(char *)typeSpecifier
- {
- size_t size;
- sysctlbyname(typeSpecifier, NULL, &size, NULL, 0);
- char *answer = malloc(size);
- sysctlbyname(typeSpecifier, answer, &size, NULL, 0);
- NSString *results = [NSString stringWithCString:answer encoding: NSUTF8StringEncoding];
- free(answer);
- return results;
- }
- //
- + (NSString *) platform
- {
- return [NewUtils getSysInfoByName:"hw.machine"];
- }
- /*iphone/iPad类型及适配*/
- + (NSString *) simplePlatformString
- {
- NSString *platform = [NewUtils platform];
- // NSLog(@"手机型号 == %@",platform);
-
- if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
- if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
- if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
- if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
- if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
- if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
- if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
- if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
- if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
- if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
- if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
- if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
- if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
- if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
- if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
- if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
- if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6 Plus s";
-
- if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G (A1213)";
- if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G (A1288)";
- if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G (A1318)";
- if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G (A1367)";
- if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G (A1421/A1509)";
-
- if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G (A1219/A1337)";
-
- if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (A1395)";
- if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (A1396)";
- if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (A1397)";
- if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (A1395+New Chip)";
- if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G (A1432)";
- if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G (A1454)";
- if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G (A1455)";
-
- if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (A1416)";
- if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (A1403)";
- if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (A1430)";
- if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (A1458)";
- if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (A1459)";
- if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (A1460)";
-
- if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (A1474)";
- if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (A1475)";
- if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air (A1476)";
- if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (A1489)";
- if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (A1490)";
- if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G (A1491)";
-
- if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
- if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
- return platform;
- }
- /*对一段字符串的中间部分进行隐藏 以***代替*/
- + (NSString *)formatCardNumber:(NSString *)cardNumber
- {
- if (cardNumber.length > 9)
- {
- NSString *strLeft = [cardNumber substringToIndex:6];
- NSString *strRight = [cardNumber substringFromIndex:(cardNumber.length - 4)];
- return [NSString stringWithFormat:@"%@***%@",strLeft,strRight];
- }
- else
- {
- return cardNumber;
- }
- }
- /*存储BOOL判断的条件*/
- +(void)userDefaultsKey:(NSString *)key Value:(BOOL)value
- {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- [defaults setBool:value forKey:key];
- [defaults synchronize];
- }
- /*根据Key值来判断逻辑*/
- +(BOOL)userDefaultsKey:(NSString *)key
- {
- BOOL defaults = [[NSUserDefaults standardUserDefaults] boolForKey:key];
- return defaults;
- }
- /*存储判断NSString的条件*/
- +(void)userDefaultsStringKey:(NSString *)key Value:(NSString *)value
- {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- [defaults setValue:value forKey:key];
- [defaults synchronize];
- }
- /*根据Key值来判断逻辑*/
- +(NSString *)userDefaultsStringKey:(NSString *)key
- {
- NSString *defaults = [[NSUserDefaults standardUserDefaults] valueForKey:key];
- return defaults;
- }
- //创建package签名
- +(NSString*) createMd5Sign:(NSMutableDictionary*)dict
- {
- NSMutableString *contentString =[NSMutableString string];
- NSArray *keys = [dict allKeys];
- //按字母顺序排序
- NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
- return [obj1 compare:obj2 options:NSNumericSearch];
- }];
-
- //拼接字符串
- for (NSString *categoryId in sortedArray) {
- if ( ![[dict objectForKey:categoryId] isEqualToString:@""]
- && ![categoryId isEqualToString:@"sign"]
- && ![categoryId isEqualToString:@"key"]
- )
- {
- [contentString appendFormat:@"%@=%@&", categoryId, [dict objectForKey:categoryId]];
- }
-
- }
-
- //添加key字段 商户API密钥
- [contentString appendFormat:@"key=%@", @"8ae1da0fe37c98412768453f82490da2"];
- //得到MD5 sign签名
- NSString *md5Sign =[NewUtils md5:contentString];
-
-
- return md5Sign;
- }
- //md5 encode
- +(NSString *) md5:(NSString *)str
- {
- const char *cStr = [str UTF8String];
- unsigned char digest[CC_MD5_DIGEST_LENGTH];
- CC_MD5( cStr, (unsigned int)strlen(cStr), digest );
-
- NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
-
- for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
- [output appendFormat:@"%02X", digest[i]];
- return output;
- }
- +(NSString *)stringTransformation:(NSString *)string changeType:(NSString *)type
- {
- //全部大写
- if ([type isEqualToString:@"A"]) {
- return [string uppercaseString];
- }
- //全部小写
- else if ([type isEqualToString:@"a"]) {
- return [string lowercaseString];
- }
- //开头大写,其余小写
- else if ([type isEqualToString:@"Ab"]) {
- return [string capitalizedString];
- }
- else {
- return string;
- }
- }
- + (NSString*)randomCount:(NSInteger)randomCount{
-
- NSInteger count = randomCount;
- char chars[] = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ";
- char codes[count];
-
- for(int i=0;i<count; i++){
- codes[i]= chars[arc4random()%62];
- }
-
- NSString *text = [[NSString alloc] initWithBytes:codes
- length:count encoding:NSUTF8StringEncoding];
- return text;
- }
- + (NSString *)typeForImageData:(NSData *)data {
-
-
- if (data.length > 4) {
- const unsigned char * bytes = [data bytes];
-
- if (bytes[0] == 0xff &&
- bytes[1] == 0xd8 &&
- bytes[2] == 0xff)
- {
- return @"jpeg";
- }
-
- if (bytes[0] == 0x89 &&
- bytes[1] == 0x50 &&
- bytes[2] == 0x4e &&
- bytes[3] == 0x47)
- {
- return @"png";;
- }
- }
-
- return nil;
-
- /*
- uint8_t c;
-
- [data getBytes:&c length:1];
-
- switch (c) {
-
- case 0xFF:
-
- return @"jpeg";
-
- case 0x89:
-
- return @"png";
-
- case 0x47:
-
- return @"gif";
-
- case 0x49:
- return nil;
-
- case 0x4D:
-
- return @"tiff";
-
- }
-
- return nil;
- */
- }
- +(NSString *)resourcesFileName:(NSString *)fileName ofType:(NSString *)type
- {
-
- if ([fileName isEqualToString:@""] || fileName == nil) {
-
- return nil;
-
- }
-
- return [[NSBundle mainBundle] pathForResource:fileName ofType:type];
-
- /*
- 提取路径中的文件名
-
- 方法一:通过函数
- - (NSString *)displayNameAtPath:(NSString *)path
- 需要主意这个函数返回的是文件名称的显示字符串,适当的进行本地化。如果手机中选择的是英语则显示英文名,中文则显示中文名
-
- 方法二:lastPathComponent
- - (NSString *)lastPathComponent
- */
-
- }
- //根据文件名来获取文件路径 取所有母缓存文件路径
- + (NSString *)resourcesFileName:(NSString *)fileName
- {
- NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
- NSUserDomainMask,
- YES);
- NSString *documentDirectory = [path objectAtIndex:0];
- return [documentDirectory stringByAppendingPathComponent:fileName];
- }
- /*
-
- //根据文件路径获取文件名称
- [[NewUtils resourcesFileName:@"支付宝实名认证"] lastPathComponent]
-
-
- //resource目录下 取你自己APP下的缓存路径
- + (NSString *)resourcesFileName3:(NSString *)fileName
- {
- return [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:fileName];
- }
- //Cache目录下
- + (NSString *)resourcesFileName4:(NSString *)fileName
- {
- NSArray *cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
- return [cache objectAtIndex:0];
- //NSString *voiceName = [cachePath stringByAppendingPathComponent:[sender stringByAppendingString:@".wav"]];
- }
- _array_FileName=[NSMutableArray array];
- _array_FilePath=[NSMutableArray array];
- [self getFile];
- -(void)getFile{
- NSString *DocPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
- NSFileManager *file_manager=[[NSFileManager alloc]init];
- NSArray *subPaths=[file_manager subpathsAtPath:DocPath];
- for (NSString *path in subPaths) {
- NSArray *arry=[path componentsSeparatedByString:@"."];
- NSString *last=[arry lastObject];
- //NSLog(@"filepath:%@ ----- fileName:%@",path,[path lastPathComponent]);
- if ([last isEqualToString:@"pdf"]) {
- [_array_FilePath addObject:[DocPath stringByAppendingPathComponent:path]];
- [_array_FileName addObject:[path lastPathComponent]];
- NSLog(@"filepath:%@ ----- fileName:%@",path,[path lastPathComponent]);
- }
- }
- }
- */
- //获取当前屏幕显示的viewcontroller
- - (UIViewController *)getCurrentVC
- {
- UIViewController *result = nil;
-
- UIWindow * window = [[UIApplication sharedApplication] keyWindow];
- if (window.windowLevel != UIWindowLevelNormal)
- {
- NSArray *windows = [[UIApplication sharedApplication] windows];
- for(UIWindow * tmpWin in windows)
- {
- if (tmpWin.windowLevel == UIWindowLevelNormal)
- {
- window = tmpWin;
- break;
- }
- }
- }
-
- UIView *frontView = [[window subviews] objectAtIndex:0];
- id nextResponder = [frontView nextResponder];
-
- if ([nextResponder isKindOfClass:[UIViewController class]])
- result = nextResponder;
- else
- result = window.rootViewController;
-
- return result;
- }
- //获取当前屏幕中present出来的viewcontroller
- - (UIViewController *)getPresentedViewController
- {
- UIViewController *appRootVC = [[UIApplication sharedApplication] keyWindow].rootViewController;
- UIViewController *topVC = appRootVC;
- if (topVC.presentedViewController) {
- topVC = topVC.presentedViewController;
- }
-
- return topVC;
- }
- //删除整个共享文件夹Document
- + (void)deleteDocumentFolder
- {
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *path = [paths objectAtIndex:0];
- [[NSFileManager defaultManager] removeItemAtPath:path error:nil];
- }
- + (CGFloat)navHeader{
-
- if ([[NewUtils iphoneType] isEqualToString:@"IPhone_X"]) {
- return 88;
- }
- return 64;
- }
- + (NSString *)iphoneType {
- struct utsname systemInfo;
- uname(&systemInfo);
- NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
- //simulator
- if ([platform isEqualToString:@"i386"]) return @"Simulator";
- if ([platform isEqualToString:@"x86_64"]) return @"Simulator";
- //iPhone
- if ([platform isEqualToString:@"iPhone1,1"]) return @"IPhone_1G";
- if ([platform isEqualToString:@"iPhone1,2"]) return @"IPhone_3G";
- if ([platform isEqualToString:@"iPhone2,1"]) return @"IPhone_3GS";
- if ([platform isEqualToString:@"iPhone3,1"]) return @"IPhone_4";
- if ([platform isEqualToString:@"iPhone3,2"]) return @"IPhone_4";
- if ([platform isEqualToString:@"iPhone4,1"]) return @"IPhone_4s";
- if ([platform isEqualToString:@"iPhone5,1"]) return @"IPhone_5";
- if ([platform isEqualToString:@"iPhone5,2"]) return @"IPhone_5";
- if ([platform isEqualToString:@"iPhone5,3"]) return @"IPhone_5C";
- if ([platform isEqualToString:@"iPhone5,4"]) return @"IPhone_5C";
- if ([platform isEqualToString:@"iPhone6,1"]) return @"IPhone_5S";
- if ([platform isEqualToString:@"iPhone6,2"]) return @"IPhone_5S";
- if ([platform isEqualToString:@"iPhone7,1"]) return @"IPhone_6P";
- if ([platform isEqualToString:@"iPhone7,2"]) return @"IPhone_6";
- if ([platform isEqualToString:@"iPhone8,1"]) return @"IPhone_6s";
- if ([platform isEqualToString:@"iPhone8,2"]) return @"IPhone_6s_P";
- if ([platform isEqualToString:@"iPhone8,4"]) return @"IPhone_SE";
- if ([platform isEqualToString:@"iPhone9,1"]) return @"IPhone_7";
- if ([platform isEqualToString:@"iPhone9,3"]) return @"IPhone_7";
- if ([platform isEqualToString:@"iPhone9,2"]) return @"IPhone_7P";
- if ([platform isEqualToString:@"iPhone9,4"]) return @"IPhone_7P";
- if ([platform isEqualToString:@"iPhone10,1"]) return @"IPhone_8";
- if ([platform isEqualToString:@"iPhone10,4"]) return @"IPhone_8";
- if ([platform isEqualToString:@"iPhone10,2"]) return @"IPhone_8P";
- if ([platform isEqualToString:@"iPhone10,5"]) return @"IPhone_8P";
- if ([platform isEqualToString:@"iPhone10,3"]) return @"IPhone_X";
- if ([platform isEqualToString:@"iPhone10,6"]) return @"IPhone_X";
- if ([NewUtils getIsIphone]) return @"IPhone_X";
- return @"NUKown";
- }
- + (BOOL)getIsIphone {
- NSString *deviceType = [UIDevice currentDevice].model;
-
- if([deviceType isEqualToString:@"iPhone"]) {
- //iPhone
- return YES;
- }
- else if([deviceType isEqualToString:@"iPod touch"]) {
- //iPod Touch
- return NO;
- }
- else if([deviceType isEqualToString:@"iPad"]) {
- //iPad
- return NO;
- }
- return NO;
- }
- + (CGFloat)navTABBAR_HEIGHT{
-
- if ([[NewUtils iphoneType] isEqualToString:@"IPhone_X"]) {
- return 83;
- }
- return 49;
- }
- @end
|