IOS एप्लिकेशन पर काम करते समय, हमें कभी-कभी उस डिवाइस को जानना होगा जिस पर एप्लिकेशन इंस्टॉल किया गया है, और उपयोग में डिवाइस के आधार पर कस्टम सुविधाएं प्रदान करें। उदाहरण के लिए, हम iPhone X पर कुछ सुविधाएँ प्रदान करना चाहते हैं, लेकिन iPhone 7 पर नहीं। इस लेख में हम सीखेंगे कि iOS एप्लिकेशन का उपयोग करके उपयोग किए जा रहे iOS डिवाइस को कैसे खोजा जाए।
आइए कुछ शर्तों के बारे में जानें जो वांछित परिणाम प्राप्त करने के लिए आवश्यक होंगी,
उत्सनाम - यह आईओएस के डार्विन मॉड्यूल में स्थित एक संरचना है
नाम बदलें - uname एक ऐसा फंक्शन है जो utsname को इनपुट के रूप में लेता है और Int32 को आउटपुट के रूप में लौटाता है।
दर्पण - किसी भी प्रकार के उदाहरण की संरचना और प्रदर्शन शैली का प्रतिनिधित्व।
आईओएस एसडीके पर उपयोग में डिवाइस ढूंढना एक आसान काम है, अगर हमें मॉडल या नाम खोजने की ज़रूरत है तो हम नीचे दिए गए किसी भी कोड का उपयोग कर सकते हैं, और यह हमें बदले में एक स्ट्रिंग देगा।
लेकिन उपरोक्त कोड उपयोग में सटीक डिवाइस नहीं है, यह केवल हमें बताता है कि एक आईफोन का उपयोग किया जा रहा है। सटीक उपकरण उपयोग में लाने के लिए हमें कुछ चरणों से गुजरना होगा।
स्विफ्ट में हम डिवाइस नंबर को आउटपुट के रूप में प्राप्त करने के लिए उपरोक्त सभी शब्दों का उपयोग करेंगे।
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 }
यह फ़ंक्शन हमें मॉडल कोड देता है लेकिन डिवाइस का नाम बिल्कुल नहीं। आवश्यकता के अनुसार मॉडल नाम प्राप्त करने के लिए हमें इस "पहचानकर्ता" चर की तुलना कई मानों से करनी होगी।
यहां एक उदाहरण दिया गया है कि जब हम आईओएस 12.0 संस्करण पर आईफोन 7 प्लस चलाने वाले आईफोन चलाने वाले सिम्युलेटर पर कोड चलाते हैं तो यह कैसा दिखता है
Apple उपकरणों और उनके संबंधित नामों के लिए कुछ मॉडल कोड हैं -
iPod4,1 | iPod Touch 4G |
iPod5,1 | iPod Touch 5G |
iPod7,1 | iPod Touch 6G |
iPhone3,1, iPhone3,2, iPhone3,3 | आईफोन 4 |
iPhone4, | iPhone 4s |
iPhone5,1, iPhone5,2 | आईफोन 5 |
iPhone5,3 , iPhone5,4 | आईफोन 5c |
iPhone6,1, iPhone6,2 | iPhone 5s |
iPhone7,2 | आईफोन 6 |
iPhone7,1 | आईफोन 6 प्लस |
iPhone8,1 | iPhone 6s |
iPhone8,2 | iPhone 6s Plus |
iPhone8,4 | आईफोन एसई |
iPhone9,1, iPhone9,3 | आईफोन 7 |
iPhone9,2, iPhone 9,4 | आईफोन 7 प्लस |
iPad2,1, iPad2,2, iPad2,3, iPad2,4 | आईपैड 2 |
iPad3,1, iPad3,2, iPad3,3 | आईपैड 3 |
iPad3,4, iPad3,5, iPad3,6 | आईपैड 4 |
iPad4,1, iPad4,2, iPad4,3 | आईपैड एयर |
iPad5,3 , iPad5,4 | आईपैड एयर 2 |
iPad2,5 , iPad2,6 , iPad2,7 | आईपैड मिनी |
iPad4,4, iPad4,5, iPad4,6 | आईपैड मिनी 2 |
iPad4,7, iPad4,8, iPad4,9 | आईपैड मिनी 3 |
iPad5,1, iPad5,2 | आईपैड मिनी 4 |
iPad6,3, iPad6,4 | आईपैड प्रो (9.7 इंच) |
iPad6,7 , iPad6,8 | iPad Pro (12.9 इंच) |