您的位置:首页 > 移动开发 > IOS开发

ios开发中获取常用的应用与设备信息

2016-07-28 12:33 513 查看
1. 获取版本号:

Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。

[[[NSBundle
mainBundle]
infoDictionary]
objectForKey:@"CFBundleShortVersionString"];

[[NSBundle
mainBundle]objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

[[[NSBundle
mainBundle]
infoDictionary]
objectForKey:@"CFBundleVersion"];

2.获取手机网络状态和运营商信息

导入

CoreTelephony.framework

引入头文件

#import <CoreTelephony/CTTelephonyNetworkInfo.h>  

#import <CoreTelephony/CTCarrier.h> 

2.1获取手机网络状

<strong><span style="font-size:14px;">-(void)networktype{
NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"] valueForKey:@"foregroundView"]subviews];
NSNumber *dataNetworkItemView = nil;
for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
dataNetworkItemView = subview;
break;
}
}
switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"]integerValue]) {
case 0:
NSLog(@"No wifi or cellular");
infoLabel.text=@"无服务";
break;
case 1:
NSLog(@"2G");
infoLabel.text=@"2G";
break;
case 2:
NSLog(@"3G");
infoLabel.text=@"3G";
break;
case 3:
NSLog(@"4G");
infoLabel.text=@"4G";
break;
case 4:
NSLog(@"LTE");
infoLabel.text=@"LTE";
break;
case 5:
NSLog(@"Wifi");
infoLabel.text=@"Wifi";
break;
default:
break;
}}  </span></strong>


2.2获取运营商信息



<span style="color:#333333;">-(NSString*)getOperatorName{
CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [telephonyInfo subscriberCellularProvider];
NSString *currentCountry=[carrier carrierName];
NSLog(@"[carrier isoCountryCode]==%@,[carrier allowsVOIP]=%d,[carrier mobileCountryCode=%@,[carrier mobileCountryCode]=%@",[carrier isoCountryCode],[carrier allowsVOIP],[carrier mobileCountryCode],[carrier mobileNetworkCode]);
return currentCountry;
} </span>

3 获取设备常用信息

3.1手机系统:iPhone
OS


NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];
3.2手机类型:iPhone
6

+ (NSString *)iphoneType {

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";

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";

return platform;

}
3.3手机系统版本:9.1

NSString * iponeM = [[UIDevice currentDevice] systemName];
3.4手机电池电量
CGFloat batteryLevel=[[UIDevicecurrentDevice]batteryLevel];




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息