iOS অ্যাপ্লিকেশনগুলিতে কাজ করার সময়, আমাদের মাঝে মাঝে কোন ডিভাইসে অ্যাপ্লিকেশন ইনস্টল করা আছে তা জানতে হবে এবং ব্যবহৃত ডিভাইসের উপর নির্ভর করে কাস্টম বৈশিষ্ট্য সরবরাহ করতে হবে। উদাহরণ স্বরূপ, আমরা iPhone X-এ কিছু বৈশিষ্ট্য দিতে চাই কিন্তু iPhone 7-এ নয়। এই নিবন্ধে, আমরা শিখব কীভাবে iOS অ্যাপ্লিকেশন ব্যবহার করে iOS ডিভাইস ব্যবহার করা হচ্ছে।
কাঙ্খিত ফলাফল অর্জনের জন্য প্রয়োজনীয় কিছু শর্তাবলীর মধ্য দিয়ে যাওয়া যাক,
utsname − এটি iOS
এর ডারউইন মডিউলে অবস্থিত একটি কাঠামোনাম − uname একটি ফাংশন যা utsname একটি ইনপুট হিসাবে নেয় এবং আউটপুট হিসাবে Int32 প্রদান করে।
iOS SDK-এ ব্যবহৃত ডিভাইসটি খুঁজে পাওয়া একটি সহজ কাজ, যদি আমাদের শুধুমাত্র মডেল বা নামটি খুঁজে বের করতে হয় তাহলে আমরা নীচের কোডগুলির মধ্যে যেকোনও ব্যবহার করতে পারি, এবং এটি আমাদের বিনিময়ে একটি স্ট্রিং দেবে৷
- UIDevice.current.localizedModel
- UIDevice.current.model
- UIDevice.current.name
কিন্তু উপরের কোডটি সঠিক ডিভাইসটি ব্যবহার করে না, এটি শুধুমাত্র আমাদের বলে যে একটি আইফোন ব্যবহার করা হচ্ছে। সঠিক ডিভাইসটি ব্যবহারের জন্য আমাদের কিছু ধাপ অতিক্রম করতে হবে।
অবজেক্টিভ সি-তে আমরা এটা করতে পারি
NSString* deviceName() { struct utsname systemInfo; uname(&systemInfo); return [NSString stringWithCString:systemInfo.machine, encoding:NSUTF8StringEncoding]; }
আয়না − যেকোন ধরনের উদাহরণের সাবস্ট্রাকচার এবং ডিসপ্লে শৈলীর একটি উপস্থাপনা।
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 { identifier } identifier + String(UnicodeScalar(UInt8(value))) } return identifier }
এই ফাংশনটি আমাদের মডেল কোড দেয় কিন্তু ঠিক ডিভাইসের নাম দেয় না।
প্রয়োজন অনুসারে মডেলের নাম পেতে আমাদের এই "আইডেন্টিফায়ার" ভেরিয়েবলটিকে একাধিক মানের সাথে তুলনা করতে হবে৷
আইফোন 7 প্লাস সিমুলেটরে এই কোডটি চালানোর সময় নিম্নলিখিত ফলাফল রয়েছে৷
অ্যাপল ডিভাইসের জন্য কিছু মডেল কোড এবং তাদের নিজ নিজ নাম হল −
iPod4,1 | iPod Touch 4G | ৷
iPod5,1 | iPod Touch 5G | ৷
iPod7,1 | iPod Touch 6G | ৷
iPhone3,1 , iPhone3,2 , iPhone3,3 | iPhone 4 | ৷
iPhone4 | iPhone 4s | ৷
iPhone7,2 | iPhone 6 | ৷
iPhone7,1 | iPhone 6 Plus | ৷
iPhone8,1 | iPhone 6s | ৷
iPhone8,2 | iPhone 6s Plus | ৷
iPhone8,4 | iPhone SE | ৷
iPhone9,1 , iPhone9,3 | iPhone 7 | ৷
iPhone9,2 , iPhone 9,4 | iPhone 7 Plus | ৷
iPad2,1 , iPad2,2 , iPad2,3 , iPad2,4 | iPad 2 | ৷
iPad3,1 , iPad3,2 , iPad3,3 | iPad 3 | ৷
iPad3,4 , iPad3,5 , iPad3,6 | iPad 4 | ৷
iPad4,1 , iPad4,2 , iPad4,3 | iPad Air |
iPad5,3 , iPad5,4 | iPad Air 2 | ৷
iPad2,5 , iPad2,6 , iPad2,7 | iPad Mini | ৷
iPad4,4 , iPad4,5 , iPad4,6 | iPad Mini 2 | ৷
iPad4,7 , iPad4,8 , iPad4,9 | iPad Mini 3 | ৷
iPad5,1 , iPad5,2 | iPad Mini 4 | ৷
iPad6,3 , iPad6,4 | iPad Pro (9.7 ইঞ্চি) |
iPad6,7 , iPad6,8 | iPad Pro (12.9 ইঞ্চি) |