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