ios開發中擷取常用的應用與裝置資訊

來源:互聯網
上載者:User

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





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.