有关ios硬件的部分的
来源:互联网 发布:私募通数据库 编辑:程序博客网 时间:2024/06/02 05:58
/*
@abstract 获取当前语言环境
*/
+(NSString*)deviceLanguages{
return [[[NSUserDefaults standardUserDefaults]objectForKey:@"AppleLanguages"]objectAtIndex:0];
}
/*
@abstract获取当前设备ID
*/
+(NSString*)deviceID{
NSUserDefaults *userDefault = [NSUserDefaultsstandardUserDefaults];
NSString *deviceIDStr = [userDefault valueForKey:@"deviceID"];
if(!deviceIDStr)
{
NSDateFormatter*formatter = [[NSDateFormatteralloc]init];
[formatter setDateFormat:@"yyyyMMddHHmmssss"];
NSString *dateTime = [formatter stringFromDate:[NSDatedate]];
deviceIDStr = [NSStringstringWithFormat:@"%@%@",dateTime,[StaticToolsrandomCode:8]];
NSLog(@"%@",deviceIDStr);
[userDefault setObject:deviceIDStrforKey:@"deviceID"];
[userDefault synchronize];
}
return deviceIDStr;
}
/*
@abstract获取当前版本号
*/
+ (NSString *)projectVerson
{
// return [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey];
return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
}
/*
@abstract 获取设备型号
*/
+ (NSString *)phoneModel
{
@abstract 获取当前语言环境
*/
+(NSString*)deviceLanguages{
return [[[NSUserDefaults standardUserDefaults]objectForKey:@"AppleLanguages"]objectAtIndex:0];
}
/*
@abstract获取当前设备ID
*/
+(NSString*)deviceID{
NSUserDefaults *userDefault = [NSUserDefaultsstandardUserDefaults];
NSString *deviceIDStr = [userDefault valueForKey:@"deviceID"];
if(!deviceIDStr)
{
NSDateFormatter*formatter = [[NSDateFormatteralloc]init];
[formatter setDateFormat:@"yyyyMMddHHmmssss"];
NSString *dateTime = [formatter stringFromDate:[NSDatedate]];
deviceIDStr = [NSStringstringWithFormat:@"%@%@",dateTime,[StaticToolsrandomCode:8]];
NSLog(@"%@",deviceIDStr);
[userDefault setObject:deviceIDStrforKey:@"deviceID"];
[userDefault synchronize];
}
return deviceIDStr;
}
/*
@abstract获取当前版本号
*/
+ (NSString *)projectVerson
{
// return [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey];
return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
}
/*
@abstract 获取设备型号
*/
+ (NSString *)phoneModel
{
// NSString *phoneModel = [[UIDevice currentDevice] model];
struct utsname systemInfo; //系统的获取信息
uname(&systemInfo);
NSString *deviceString = [NSStringstringWithCString:systemInfo.machineencoding:NSUTF8StringEncoding];
return deviceString;//iPhone5,2
NSString *deviceString = [NSStringstringWithCString:systemInfo.machineencoding:NSUTF8StringEncoding];
return deviceString;//iPhone5,2
}
/*
@abstract 获取设备系统版本号
*/
+ (NSString *)phoneVersion
{
NSString* phoneVersion = [[UIDevicecurrentDevice]systemVersion];
return phoneVersion;
}
/*
@abstract 获取屏幕尺寸
*/
+ (NSString *)phoneSize
{
CGRect screenRect = [UIScreenmainScreen].bounds;
NSString *phoneSizeStr = [NSStringstringWithFormat:@"%.f*%.f",screenRect.size.width,screenRect.size.height];
return phoneSizeStr;
@abstract 获取设备系统版本号
*/
+ (NSString *)phoneVersion
{
NSString* phoneVersion = [[UIDevicecurrentDevice]systemVersion];
return phoneVersion;
}
/*
@abstract 获取屏幕尺寸
*/
+ (NSString *)phoneSize
{
CGRect screenRect = [UIScreenmainScreen].bounds;
NSString *phoneSizeStr = [NSStringstringWithFormat:@"%.f*%.f",screenRect.size.width,screenRect.size.height];
return phoneSizeStr;
}/*
@abstract 检查网络状态
*/
+ (int)checkNetWork{
NetworkStatus internetStatus = [[ReachabilityreachabilityForInternetConnection]currentReachabilityStatus];
return internetStatus;
@abstract 检查网络状态
*/
+ (int)checkNetWork{
NetworkStatus internetStatus = [[ReachabilityreachabilityForInternetConnection]currentReachabilityStatus];
return internetStatus;
}
/*
@abstract 获取手机当前网络类型
*/
+ (NSString *)networkType
{
NSString* netWorkType =@"";
if ([StaticTools checkNetWork] > 0) //有网络
{
if ([StaticTools checkNetWork] == 1) //WWAN
{
if (IOS7_OR_LATER)
{
CTTelephonyNetworkInfo*telephonyInfo = [CTTelephonyNetworkInfonew];
NSString* currenRadioAccessTechnology = telephonyInfo.currentRadioAccessTechnology;
if ([currenRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE])
{
netWorkType = @"4G";
}
elseif ([currenRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge] || [currenRadioAccessTechnologyisEqualToString:CTRadioAccessTechnologyGPRS])
{
netWorkType = @"2G";
}else{
netWorkType = @"3G";
}
}else{ //ios6之前
}
}else{ //WIFI
netWorkType = @"WIFI";
}
}else{ //无网络
netWorkType = @"无网络";
}
return netWorkType;
}#pragma mark文件(夹)操作
/*
@abstract 检查Documents里是否有此文件
*/
+ (BOOL)fileExistsAtPath:(NSString*)fileName{
NSFileManager *fileManager = [NSFileManagerdefaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *DocumentsPath = [documentsDirectory stringByAppendingPathComponent:fileName];
return [fileManager fileExistsAtPath:DocumentsPath];
}
+ (NSString *)getFilePath:(NSString*)fileName{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *DocumentsPath = [documentsDirectory stringByAppendingPathComponent:fileName];
return DocumentsPath;
/*
@abstract 检查Documents里是否有此文件
*/
+ (BOOL)fileExistsAtPath:(NSString*)fileName{
NSFileManager *fileManager = [NSFileManagerdefaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *DocumentsPath = [documentsDirectory stringByAppendingPathComponent:fileName];
return [fileManager fileExistsAtPath:DocumentsPath];
}
+ (NSString *)getFilePath:(NSString*)fileName{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *DocumentsPath = [documentsDirectory stringByAppendingPathComponent:fileName];
return DocumentsPath;
/*
@abstract 校验字符串是否为空
*/
+(BOOL)isEmptyString:(NSString*)string{
if (string == nil ||[string isEqual:[NSNullnull]] )return YES;
//去空格之后判断length是否为0
NSCharacterSet* whitespace = [NSCharacterSetwhitespaceAndNewlineCharacterSet];
NSString* content = [stringstringByTrimmingCharactersInSet:whitespace];
if ([content length] ==0)return YES;
return NO;
@abstract 校验字符串是否为空
*/
+(BOOL)isEmptyString:(NSString*)string{
if (string == nil ||[string isEqual:[NSNullnull]] )return YES;
//去空格之后判断length是否为0
NSCharacterSet* whitespace = [NSCharacterSetwhitespaceAndNewlineCharacterSet];
NSString* content = [stringstringByTrimmingCharactersInSet:whitespace];
if ([content length] ==0)return YES;
return NO;
}
一、过滤字符串开始位置和结束位置的空格
1 NSString *testString = @" my name is wang tianqiao ";
2
3 NSString *cString = [testString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
3 NSString *cString = [testString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
4 NSLog(@"cString is %@",cString);
/*
@abstract 判断输入是否全部都是数字
*/
+ (BOOL)checkAllIsNumber:(NSString*)psw{
int length = [psw length];
if(0 == length) return NO;
//判断是否有汉字
for (inti = 0; i < length; i++) {
NSRange range = NSMakeRange(i, 1);
NSString *subString = [psw substringWithRange:range];
const char *cString = [subStringUTF8String];
if (strlen(cString) ==3)
return NO;
}
//判断是否是数字+字母
const char *s=[pswUTF8String];
for(int i = 0;i < length; i++){
if(s[i] >= 'a'&& s[i] <= 'z')
return NO;
else if(s[i] >='A' && s[i] <= 'Z')
return NO;
}
return YES;
@abstract 判断输入是否全部都是数字
*/
+ (BOOL)checkAllIsNumber:(NSString*)psw{
int length = [psw length];
if(0 == length) return NO;
//判断是否有汉字
for (inti = 0; i < length; i++) {
NSRange range = NSMakeRange(i, 1);
NSString *subString = [psw substringWithRange:range];
const char *cString = [subStringUTF8String];
if (strlen(cString) ==3)
return NO;
}
//判断是否是数字+字母
const char *s=[pswUTF8String];
for(int i = 0;i < length; i++){
if(s[i] >= 'a'&& s[i] <= 'z')
return NO;
else if(s[i] >='A' && s[i] <= 'Z')
return NO;
}
return YES;
}
0 0
- 有关ios硬件的部分的
- iOS有关uilable的部分操作
- 有关硬件工作经历的话题
- 有关ESP32的部分问题
- 获得硬件信息的有关文章
- 有关硬件加速器的问题hardwareAccelerated
- STM32F103--(一) 硬件部分的思考
- 有关简历中自我评价的部分
- dos下有关目录的部分命令
- 有关内存管理的部分试题
- 有关qsort函数的部分讲解
- 有关二叉树的部分操作
- kernelBase 中有关 Package 的部分
- 有关IO流的部分整理
- iOS 的部分问题
- 跪求有关于硬件嵌入的资料
- 有关STC15W系列硬件SPI的配置问题
- IOS 有关蓝牙的开发
- tableViewCell、collectionViewCell、组头组尾等总结
- 自定义View系列教程04--Draw源码分析及其实践
- Java并发编程:线程池的使用
- Visual Studio调试服务端程序:w3wp进程消失 解决办法
- 架构漫谈(七):不要空设架构师这个职位,给他实权
- 有关ios硬件的部分的
- RabbitMQ在分布式系统的应用
- Android studio 百度地图开发(10)语音播报的问题:能正常导航,但是无法语音播报
- php 上传csv文件
- 编程知识点大杂烩--->持续更新中... ...
- zxing摄像头支持横屏
- F5 GTM的DNS智能解析在双活数据中心中的应用
- 架构漫谈(八):从架构的角度看如何写好代码
- jQuery扩展方法