UDID เป็นรหัสที่เราไม่ควรเปิดเผยต่อสาธารณะ แต่บางครั้งเราก็มีเหตุจำเป็นต้องไปดึงมันออกมา พอๆ กับชื่อของเครื่อง เช่น Device Name บน iPhone ครับ
วิธีการเขียนรอบนี้ สั้น ถึง สั้นมากๆ แต่ก็ได้เรื่อง และ อาจจะตอบโจทย์สำหรับหลายๆ คนได้มากเช่นกันครับ วิธีการทำคือ ลองสร้าง New Project ขึ้นมาใหม่เป็น Single View Application ตั้งค่าให้เรียบร้อยนะครับ
ไปที่ไฟล์ ViewController.m ครับ เขียน Code ต่อไปนี้ดูเลย ในเมธอด viewDidLoad()
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSLog(@"UDID is %@",udid);
// Do any additional setup after loading the view, typically from a nib.
}
ลอง Run ตัวแอพพลิเคชันของเราครับ ถ้าเป็น iPhone Simulator จะเป็น UDID ที่ถูกสุ่มออกมา ไม่ซ้ำกัน ตามภาพครับ สังเกตที่ Console Log
คราวนี้ลองมาดึงข้อมูลของเครื่องเราอย่างชื่อ Device Name กันครับ อย่างเครื่อง iPhone ของผม นั้นจะมีชื่อว่า “Banyapon’s iPhone’ เวลาเสียบสาย USB แล้วเปิด iTunes ก็ใช้ Code ต่อไปนี้ครับ
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSString *DeviceName =[[UIDevice currentDevice] name];
NSLog(@"UDID is %@",udid);
NSLog(@"Device Name is %@",DeviceName);
// Do any additional setup after loading the view, typically from a nib.
}
ลอง Run ตัวแอพพลิเคชันของเราอีกครั้ง จะได้ข้อมูลดังนี้ครับ
นอกจากนี้ แถมให้อีกเล็กน้อยคือการ ดึง ค่าของ OS Version, Model ของเครื่อง และ ค่า % ของแบตเตอรี่ ก็ได้ครับ ใช้ Code ตามนี้:
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSString *DeviceName =[[UIDevice currentDevice] name];
NSString *model =[[UIDevice currentDevice] model];
NSString *systemVersion =[[UIDevice currentDevice] systemVersion];
[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
float batteryLevel = [[UIDevice currentDevice] batteryLevel];
NSLog(@"UDID is %@",udid);
NSLog(@"Device Name is %@",DeviceName);
NSLog(@"Model is %@",model);
NSLog(@"OS version%@",systemVersion);
NSLog(@"Battery Level: %f",batteryLevel);
// Do any additional setup after loading the view, typically from a nib.
}
ลอง Run ตัวแอพพลิเคชันของเราอีกที จะได้ดังนี้ครับ:
จะเห็นว่าไม่ยากเลยใช่ไหมครับ หากว่าจะเขียนแอพพลิเคชันพวก ดึงข้อมูลของเครื่องที่ดาวน์โหลดแอพพลิเคชันของเราเพื่อเก็บข้อมูลผู้ใช้ ส่งไปยัง Server ก็ไม่น่าลำบากแล้วล่ะครับ