[Code Note] iOS-mobile phone version number, model, operating system version, unique device identifier, ios-version number
I. Code.
RootViewController. m
#import "ViewController.h"
#import "sys / utsname.h"
@interface ViewController ()
@end
@implementation ViewController
-(void) viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//version number
NSDictionary * infoDic = [[NSBundle mainBundle] infoDictionary];
NSString * appVersion = [infoDic objectForKey: @ "CFBundleVersion"];
NSLog (@ "--- appVersion ---% @", appVersion);
//model
NSString * deviceStr = [NSString stringWithFormat: @ "% @", [self deviceString]];
NSLog (@ "--- deviceStr ---% @-", deviceStr);
// OS version
NSString * phoneVersion = [[UIDevice currentDevice] systemVersion];
NSLog (@ "--- phoneVersion-% @", phoneVersion);
// device unique identification
NSString * uuid = [[UIDevice currentDevice] .identifierForVendor UUIDString];
NSLog (@ "---- uuid-% @", uuid);
}
// Mobile phone model
-(NSString *) deviceString
{
// #import "sys / utsname.h" required
struct utsname systemInfo;
uname (& systemInfo);
NSString * deviceString = [NSString stringWithCString: systemInfo.machine encoding: NSUTF8StringEncoding];
if ([deviceString isEqualToString: @ "iPhone1,1"]) return @ "iPhone 1G";
if ([deviceString isEqualToString: @ "iPhone1,2"]) return @ "iPhone 3G";
if ([deviceString isEqualToString: @ "iPhone2,1"]) return @ "iPhone 3GS";
if ([deviceString isEqualToString: @ "iPhone3,1"]) return @ "iPhone 4";
if ([deviceString isEqualToString: @ "iPhone4,1"]) return @ "iPhone 4S";
if ([deviceString isEqualToString: @ "iPhone5,1"]) return @ "iPhone 5";
if ([deviceString isEqualToString: @ "iPhone5,2"]) return @ "iPhone 5";
if ([deviceString isEqualToString: @ "iPhone5,3"]) return @ "iPhone 5c";
if ([deviceString isEqualToString: @ "iPhone5,4"]) return @ "iPhone 5c";
if ([deviceString isEqualToString: @ "iPhone6,1"]) return @ "iPhone 5s";
if ([deviceString isEqualToString: @ "iPhone6,2"]) return @ "iPhone 5s";
if ([deviceString isEqualToString: @ "iPhone7,2"]) return @ "iPhone 6";
if ([deviceString isEqualToString: @ "iPhone7,1"]) return @ "iPhone 6p";
if ([deviceString isEqualToString: @ "iPhone3,2"]) return @ "Verizon iPhone 4";
if ([deviceString isEqualToString: @ "iPod1,1"]) return @ "iPod Touch 1G";
if ([deviceString isEqualToString: @ "iPod2,1"]) return @ "iPod Touch 2G";
if ([deviceString isEqualToString: @ "iPod3,1"]) return @ "iPod Touch 3G";
if ([deviceString isEqualToString: @ "iPod4,1"]) return @ "iPod Touch 4G";
if ([deviceString isEqualToString: @ "iPad1,1"]) return @ "iPad";
if ([deviceString isEqualToString: @ "iPad2,1"]) return @ "iPad 2 (WiFi)";
if ([deviceString isEqualToString: @ "iPad2,2"]) return @ "iPad 2 (GSM)";
if ([deviceString isEqualToString: @ "iPad2,3"]) return @ "iPad 2 (CDMA)";
if ([deviceString isEqualToString: @ "i386"]) return @ "Simulator";
if ([deviceString isEqualToString: @ "x86_64"]) return @ "Simulator";
// NSLog (@ "NOTE: Unknown device type:% @", deviceString);
return deviceString;
}
-(void) didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
2. output.
2015-10-23 12: 01: 43.093 Mobile phone version number, model, operating system version, device unique identifier [7151: 176776] --- appVersion --- 1
2015-10-23 12: 01: 43.093 Phone version number, model, operating system version, device unique identifier [7151: 176776] --- deviceStr --- Simulator--
2015-10-23 12: 01: 43.094 Phone version number, model, operating system version, device unique identifier [7151: 176776] --- phoneVersion--8.4
2015-10-23 12: 01: 43.094 Phone version number, model, operating system version, device unique identifier [7151: 176776] ---- uuid-36995AA5-DAC5-48E9-9C2E-088B1927EC6C