iOS অ্যাপ্লিকেশনগুলিতে কাজ করার সময়, আমাদের মাঝে মাঝে কোন ডিভাইসে অ্যাপ্লিকেশন ইনস্টল করা আছে তা জানতে হবে এবং ব্যবহৃত ডিভাইসের উপর নির্ভর করে কাস্টম বৈশিষ্ট্য সরবরাহ করতে হবে। উদাহরণ স্বরূপ, আমরা iPhone X-এ কিছু বৈশিষ্ট্য দিতে চাই কিন্তু iPhone 7-এ নয়। এই নিবন্ধে আমরা শিখব কীভাবে iOS অ্যাপ্লিকেশন ব্যবহার করে iOS ডিভাইস ব্যবহার করা হচ্ছে।
কাঙ্খিত ফলাফল অর্জনের জন্য প্রয়োজনীয় কিছু শর্তাবলীর মধ্য দিয়ে যাওয়া যাক,
utsname − এটি iOS
এর ডারউইন মডিউলে অবস্থিত একটি কাঠামোনাম − uname হল একটি ফাংশন যা utsname কে ইনপুট হিসাবে নেয় এবং Int32 কে আউটপুট হিসাবে প্রদান করে।
আয়না − যেকোন ধরনের উদাহরণের সাবস্ট্রাকচার এবং ডিসপ্লে শৈলীর একটি উপস্থাপনা।
iOS SDK-এ ব্যবহৃত ডিভাইসটি খুঁজে পাওয়া একটি সহজ কাজ, যদি আমাদের শুধুমাত্র মডেল বা নামটি খুঁজে বের করতে হয় তাহলে আমরা নীচের কোডগুলির মধ্যে যেকোনও ব্যবহার করতে পারি, এবং এটি আমাদের বিনিময়ে একটি স্ট্রিং দেবে৷
কিন্তু উপরের কোডটি সঠিক ডিভাইসটি ব্যবহার করে না, এটি শুধুমাত্র আমাদের বলে যে একটি আইফোন ব্যবহার করা হচ্ছে। সঠিক ডিভাইসটি ব্যবহারের জন্য আমাদের কিছু ধাপ অতিক্রম করতে হবে।
সুইফটে আমরা আউটপুট হিসাবে ডিভাইস নম্বর পেতে উপরে উল্লিখিত সমস্ত শর্তাবলী ব্যবহার করব।
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 }
এই ফাংশনটি আমাদের মডেল কোড দেয় কিন্তু ঠিক ডিভাইসের নাম দেয় না। প্রয়োজন অনুসারে মডেলের নাম পেতে আমাদের এই "আইডেন্টিফায়ার" ভেরিয়েবলটিকে একাধিক মানের সাথে তুলনা করতে হবে৷
iOS 12.0 সংস্করণে iPhone 7 Plus চলমান আইফোনে চলমান সিমুলেটরে কোড চালালে এটি কেমন দেখায় তার একটি উদাহরণ এখানে দেওয়া হল
অ্যাপল ডিভাইসের জন্য কিছু মডেল কোড এবং তাদের নিজ নিজ নাম হল −
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 |
iPhone5,1 , iPhone5,2 | iPhone 5 |
iPhone5,3 , iPhone5,4 | iPhone 5c |
iPhone6,1 , iPhone6,2 | iPhone 5s |
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 ইঞ্চি) |