iOS开发中可能用到的系统相关的小知识点

1、禁止手机睡眠

[UIApplication sharedApplication].idleTimerDisabled = YES;

2、跳进app权限设置

// 跳进app设置

if(UIApplicationOpenSettingsURLString != NULL) {

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

[[UIApplication sharedApplication] openURL:url];

}

3、获取沙盒路径

获取temp

#define PathTemp NSTemporaryDirectory()

获取沙盒 Document

#define PathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]

获取沙盒 Cache

#define PathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMa

4、获取手机型号

+ (NSString *)getDeviceInfo {

struct utsname systemInfo;

uname(&systemInfo);

NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];

if([platform isEqualToString:@"iPhone1,1"])return@"iPhone 2G";

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:@"iPhone3,3"])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 6 Plus";

if([platform isEqualToString:@"iPhone7,2"])return@"iPhone 6";

if([platform isEqualToString:@"iPhone8,1"])return@"iPhone 6s";

if([platform isEqualToString:@"iPhone8,2"])return@"iPhone 6s Plus";

// 日行两款手机型号均为日本独占,可能使用索尼FeliCa支付方案而不是苹果支付

if([platform isEqualToString:@"iPhone9,1"])return@"国行、日版、港行iPhone 7";

if([platform isEqualToString:@"iPhone9,2"])return@"港行、国行iPhone 7 Plus";

if([platform isEqualToString:@"iPhone9,3"])return@"美版、台版iPhone 7";

if([platform isEqualToString:@"iPhone9,4"])return@"美版、台版iPhone 7 Plus";

if([platform isEqualToString:@"iPhone8,4"])return@"iPhone SE";

if([platform isEqualToString:@"iPod1,1"])return@"iPod Touch 1G";

if([platform isEqualToString:@"iPod2,1"])return@"iPod Touch 2G";

if([platform isEqualToString:@"iPod3,1"])return@"iPod Touch 3G";

if([platform isEqualToString:@"iPod4,1"])return@"iPod Touch 4G";

if([platform isEqualToString:@"iPod5,1"])return@"iPod Touch 5G";

if([platform isEqualToString:@"iPad1,1"])return@"iPad 1G";

if([platform isEqualToString:@"iPad2,1"])return@"iPad 2";

if([platform isEqualToString:@"iPad2,2"])return@"iPad 2";

if([platform isEqualToString:@"iPad2,3"])return@"iPad 2";

if([platform isEqualToString:@"iPad2,4"])return@"iPad 2";

if([platform isEqualToString:@"iPad2,5"])return@"iPad Mini 1G";

if([platform isEqualToString:@"iPad2,6"])return@"iPad Mini 1G";

if([platform isEqualToString:@"iPad2,7"])return@"iPad Mini 1G";

if([platform isEqualToString:@"iPad3,1"])return@"iPad 3";

if([platform isEqualToString:@"iPad3,2"])return@"iPad 3";

if([platform isEqualToString:@"iPad3,3"])return@"iPad 3";

if([platform isEqualToString:@"iPad3,4"])return@"iPad 4";

if([platform isEqualToString:@"iPad3,5"])return@"iPad 4";

if([platform isEqualToString:@"iPad3,6"])return@"iPad 4";

if([platform isEqualToString:@"iPad4,1"])return@"iPad Air";

if([platform isEqualToString:@"iPad4,2"])return@"iPad Air";

if([platform isEqualToString:@"iPad4,3"])return@"iPad Air";

if([platform isEqualToString:@"iPad4,4"])return@"iPad Mini 2G";

if([platform isEqualToString:@"iPad4,5"])return@"iPad Mini 2G";

if([platform isEqualToString:@"iPad4,6"])return@"iPad Mini 2G";

if([platform isEqualToString:@"i386"])return@"iPhone Simulator";

if([platform isEqualToString:@"x86_64"])return@"iPhone Simulator";

returnplatform;

}

5、获取手机和app信息

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

CFShow(infoDictionary);

// app名称

NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];

// app版本

NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

// app build版本

NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];

//手机序列号

NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];

NSLog(@"手机序列号: %@",identifierNumber);

//手机别名: 用户定义的名称

NSString* userPhoneName = [[UIDevice currentDevice] name];

NSLog(@"手机别名: %@", userPhoneName);

//设备名称

NSString* deviceName = [[UIDevice currentDevice] systemName];

NSLog(@"设备名称: %@",deviceName );

//手机系统版本

NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];

NSLog(@"手机系统版本: %@", phoneVersion);

//手机型号

NSString* phoneModel = [[UIDevice currentDevice] model];

NSLog(@"手机型号: %@",phoneModel );

//地方型号  (国际化区域名称)

NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];

NSLog(@"国际化区域名称: %@",localPhoneModel );

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

// 当前应用名称

NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"];

NSLog(@"当前应用名称:%@",appCurName);

// 当前应用软件版本  比如:1.0.1

NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

NSLog(@"当前应用软件版本:%@",appCurVersion);

// 当前应用版本号码   int类型

NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];

NSLog(@"当前应用版本号码:%@",appCurVersionNum);

6、让手机震动一下

倒入框架

#import

AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);

或者

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

7、在状态栏增加网络请求的菊花,类似safari加载网页的时候状态栏菊花

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

 

你可能感兴趣的:(iOS开发中可能用到的系统相关的小知识点)