IOS एप्लिकेशन पर काम करते समय, हमें कभी-कभी उस डिवाइस को जानना होगा जिस पर एप्लिकेशन इंस्टॉल किया गया है, और उपयोग में डिवाइस के आधार पर कस्टम सुविधाएं प्रदान करें। उदाहरण के लिए, हम iPhone X पर कुछ सुविधाएँ प्रदान करना चाहते हैं, लेकिन iPhone 7 पर नहीं। इस लेख में, हम सीखेंगे कि iOS एप्लिकेशन का उपयोग करके उपयोग किए जा रहे iOS डिवाइस को कैसे खोजा जाए।
आइए कुछ शर्तों के बारे में जानें जो वांछित परिणाम प्राप्त करने के लिए आवश्यक होंगी,
उत्सनाम - यह आईओएस के डार्विन मॉड्यूल में स्थित एक संरचना है
नाम बदलें - uname एक फ़ंक्शन है जो utsname को इनपुट के रूप में लेता है और Int32 को आउटपुट के रूप में लौटाता है।
आईओएस एसडीके पर उपयोग में डिवाइस ढूंढना एक आसान काम है, अगर हमें मॉडल या नाम खोजने की ज़रूरत है तो हम नीचे दिए गए किसी भी कोड का उपयोग कर सकते हैं, और यह हमें बदले में एक स्ट्रिंग देगा।
- UIDevice.current.localizedModel
- UIDevice.current.model
- UIDevice.current.name
लेकिन उपरोक्त कोड उपयोग में सटीक डिवाइस नहीं है, यह केवल हमें बताता है कि एक आईफोन का उपयोग किया जा रहा है। सटीक उपकरण उपयोग में लाने के लिए हमें कुछ चरणों से गुजरना होगा।
उद्देश्य सी में हम इसे पसंद कर सकते हैं
NSString* deviceName() { struct utsname systemInfo; uname(&systemInfo); return [NSString stringWithCString:systemInfo.machine, encoding:NSUTF8StringEncoding]; }
दर्पण - किसी भी प्रकार के उदाहरण की संरचना और प्रदर्शन शैली का प्रतिनिधित्व।
स्विफ्ट में, हम डिवाइस नंबर को आउटपुट के रूप में प्राप्त करने के लिए उपरोक्त सभी शब्दों का उपयोग करेंगे।
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 }
यह फ़ंक्शन हमें मॉडल कोड देता है लेकिन डिवाइस का सटीक नाम नहीं देता है।
आवश्यकता के अनुसार मॉडल नाम प्राप्त करने के लिए हमें इस "पहचानकर्ता" चर की तुलना कई मानों से करनी होगी।
IPhone 7 प्लस सिम्युलेटर पर इस कोड को चलाने के दौरान परिणाम निम्नलिखित है।
Apple उपकरणों और उनके संबंधित नामों के लिए कुछ मॉडल कोड हैं -
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 इंच) |