DeveloperFeaturediOS DeveloperObjective CProgramming Language

เขียนแอพบน iPhone แอบดึง UDID, Device Name ของ iPhone, iPad ผ่านแอพฯ

UDID เป็นรหัสที่เราไม่ควรเปิดเผยต่อสาธารณะ แต่บางครั้งเราก็มีเหตุจำเป็นต้องไปดึงมันออกมา พอๆ กับชื่อของเครื่อง เช่น Device Name บน iPhone ครับ

Screen Shot 2557-02-27 at 2.41.27 PM

วิธีการเขียนรอบนี้ สั้น ถึง สั้นมากๆ แต่ก็ได้เรื่อง และ อาจจะตอบโจทย์สำหรับหลายๆ คนได้มากเช่นกันครับ วิธีการทำคือ ลองสร้าง New Project ขึ้นมาใหม่เป็น Single View Application ตั้งค่าให้เรียบร้อยนะครับ

Screen Shot 2557-02-11 at 3.35.48 PM

ไปที่ไฟล์ 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

UDID ของ iPhone Simulator
UDID ของ iPhone Simulator

คราวนี้ลองมาดึงข้อมูลของเครื่องเราอย่างชื่อ 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 ตัวแอพพลิเคชันของเราอีกครั้ง จะได้ข้อมูลดังนี้ครับ

ดึง Device Name
ดึง Device Name

นอกจากนี้ แถมให้อีกเล็กน้อยคือการ ดึง ค่าของ 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 ก็ไม่น่าลำบากแล้วล่ะครับ

Asst. Prof. Banyapon Poolsawas

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Related Articles

Back to top button

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน