Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> iOS

iPhone SDK के साथ डिवाइस प्रकार निर्धारित करना (iPhone, iPod Touch)


iOS एप्लिकेशन पर काम करते समय, हमें कभी-कभी यह जानने की आवश्यकता होती है कि एप्लिकेशन किस डिवाइस पर इंस्टॉल है, और उपयोग में डिवाइस के आधार पर कस्टम सुविधाएं प्रदान करें। उदाहरण के लिए, हम iPhone X पर कुछ सुविधाएं प्रदान करना चाहते हैं लेकिन iPhone 7 पर नहीं। इस लेख में, हम सीखेंगे कि iOS एप्लिकेशन का उपयोग करके उपयोग में iOS डिवाइस को कैसे ढूंढें।

आइए कुछ शर्तों से गुजरें जो वांछित परिणाम प्राप्त करने के लिए आवश्यक होंगी:

  • utsname - यह iOS के डार्विन मॉड्यूल में स्थित एक संरचना है
  • uname - 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" वेरिएबल की तुलना कई मानों से करनी होगी।

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,1 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 / iPhone9,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 inch)
iPad6,7 / iPad6,8 iPad Pro (12.9 inch)
  1. iPhone पर 3D Touch का उपयोग कैसे करें iPhone पर 3D Touch का उपयोग कैसे करें

    3D Touch, जिसने iPhone 6s में अपनी शुरुआत की, स्क्रीन तकनीक का एक शानदार लेकिन कम सराहा गया टुकड़ा है। इस लेख में हम बताते हैं कि 3D Touch का उपयोग कैसे करें, और सबसे उपयोगी 3D Touch-सक्षम ट्रिक्स, टिप्स, शॉर्टकट और नई सुविधाओं को संक्षेप में प्रस्तुत करते हैं। 3D Touch क्या है? 3D Touch इंटरफेस फो

  1. iPod से iPhone 12/11 में संगीत कैसे ट्रांसफर करें? iPod से iPhone 12/11 में संगीत कैसे ट्रांसफर करें?

    iPod एक बेहतरीन म्यूजिक प्लेयर है, हालांकि, इसे iPhone द्वारा धीरे-धीरे बदल दिया गया है जो लगातार अपग्रेड होता रहता है। आखिरकार, iPhone में अधिक फंक्शन और अधिक स्टोरेज स्पेस होता है। ऐसा लगता है कि iPhone के साथ iPod ले जाने की कोई आवश्यकता नहीं है क्योंकि iPhone एक परफेक्ट म्यूजिक प्लेबैक डिवाइस है

  1. अपने iPhone को जेलब्रेक कैसे करें अपने iPhone को जेलब्रेक कैसे करें

    अगर आप Apple द्वारा अपने डिवाइस के हर पहलू को नियंत्रित करने से तंग आ चुके हैं—आप क्या कर सकते हैं और क्या नहीं—तो आप अपने iPhone या iPad को जेलब्रेक करने पर विचार कर सकते हैं। जेलब्रेक Android पर रूट एक्सेस पाने या PC पर एडमिनिस्ट्रेटर बनने जैसा है। यह एक उन्नत-प्रिविलेज स्थिति है जो आपको सामान्य