কম্পিউটার টিউটোরিয়াল

iPhone SDK দিয়ে ডিভাইস টাইপ (iPhone, iPod Touch) নির্ণয়


iOS SDK দিয়ে ডিভাইস টাইপ নির্ণয়

iOS অ্যাপ্লিকেশন ডেভেলপমেন্টের সময় আমরা কখনো কখনো জানতে চাই অ্যাপ্লিকেশন কোন ডিভাইসে ইনস্টল করা হয়েছে, এবং ব্যবহৃত ডিভাইস অনুযায়ী কাস্টম ফিচার প্রদান করতে চাই। উদাহরণস্বরূপ, iPhone X-এ কিছু ফিচার দিতে চাই কিন্তু iPhone 7-এ নয়। এই আর্টিকেলে আমরা শিখব iOS অ্যাপ্লিকেশন দিয়ে iOS ডিভাইস কীভাবে খুঁজে বের করব।

প্রয়োজনীয় টার্মসমূহ

  • utsname: iOS-এর Darwin মডিউলে অবস্থিত একটি স্ট্রাকচার।
  • uname: একটি ফাংশন যা utsname ইনপুট হিসেবে নেয় এবং Int32 আউটপুট রিটার্ন করে।

iOS SDK-এ ডিভাইস খুঁজে বের করা সহজ যদি শুধু মডেল বা নাম জানতে হয়। নিচের কোডগুলো ব্যবহার করলে স্ট্রিং রিটার্ন করবে:

  • UIDevice.current.localizedModel
  • UIDevice.current.model
  • UIDevice.current.name

কিন্তু উপরের কোড সঠিক ডিভাইস বলে না, শুধু বলে iPhone ব্যবহার করা হচ্ছে। সঠিক ডিভাইস জানতে কিছু ধাপ ফলো করতে হয়।

Objective-C এ ইমপ্লিমেন্টেশন

NSString* deviceName() { 
    struct utsname systemInfo; 
    uname(&systemInfo); 
    return [NSString stringWithCString:systemInfo.machine, encoding:NSUTF8StringEncoding]; 
}

Swift এ ইমপ্লিমেন্টেশন

Mirror: যেকোনো টাইপের ইনস্ট্যান্সের সাবস্ট্রাকচার এবং ডিসপ্লে স্টাইলের রিপ্রেজেন্টেশন।

Swift-এ উপরের সব টার্ম ব্যবহার করে ডিভাইস নম্বর আউটপুট হিসেবে পাওয়া যায়।

func getDevice() -> String { 
    var systemInfo = utsname() 
    uname(&systemInfo) 
    let machineMirror = Mirror(reflecting: systemInfo.machine) 
    let identifier = machineMirror.children.reduce("") { identifier, element in 
        guard let value = element.value as? Int8, value != 0 else { return identifier } 
        return identifier + String(UnicodeScalar(UInt8(value))) 
    } 
    return identifier 
}

এই ফাংশন মডেল কোড দেয় কিন্তু সঠিক ডিভাইস নাম দেয় না। "identifier" ভেরিয়েবলটি একাধিক ভ্যালুর সাথে তুলনা করে মডেল নাম পাওয়া যায়।

iPhone 7 Plus সিমুলেটরে এই কোড রান করলে ফলাফল:

iPhone SDK দিয়ে ডিভাইস টাইপ (iPhone, iPod Touch) নির্ণয়

Apple ডিভাইসের মডেল কোড এবং নাম

Model Code Device Name
iPod4,1iPod Touch 4G
iPod5,1iPod Touch 5G
iPod7,1iPod Touch 6G
iPhone3,1 / iPhone3,2 / iPhone3,3iPhone 4
iPhone4iPhone 4s
iPhone7,2iPhone 6
iPhone7,1iPhone 6 Plus
iPhone8,1iPhone 6s
iPhone8,2iPhone 6s Plus
iPhone8,4iPhone SE
iPhone9,1 / iPhone9,3iPhone 7
iPhone9,2 / iPhone 9,4iPhone 7 Plus
iPad2,1 / iPad2,2 / iPad2,3 / iPad2,4iPad 2
iPad3,1 / iPad3,2 / iPad3,3iPad 3
iPad3,4 / iPad3,5 / iPad3,6iPad 4
iPad4,1 / iPad4,2 / iPad4,3iPad Air
iPad5,3 / iPad5,4iPad Air 2
iPad2,5 / iPad2,6 / iPad2,7iPad Mini
iPad4,4 / iPad4,5 / iPad4,6iPad Mini 2
iPad4,7 / iPad4,8 / iPad4,9iPad Mini 3
iPad5,1 / iPad5,2iPad Mini 4
iPad6,3 / iPad6,4iPad Pro (9.7 inch)
iPad6,7 / iPad6,8iPad Pro (12.9 inch)
ত্রিভুজ No
  1. আইফোন দিয়ে Mac আনলক করার পদ্ধতি (থার্ড-পার্টি অ্যাপ ব্যবহার করে)

  2. আইফোনে 3D Touch ব্যবহার করার সম্পূর্ণ গাইড

  3. আইপড থেকে আইফোন ১২/১১-এ মিউজিক ট্রান্সফার করার উপায়

  4. আপনার আইফোন জেইলব্রেক করার পদ্ধতি