आईओएस स्विफ्ट में मोबाइल नंबर के लिए CNContactPickerViewController सत्यापन

वोट
20

मैं अपनी संपर्क सूची में फ़ोन पर संग्रहीत से संपर्क चुनने के लिए उपयोगकर्ता को सक्षम करने CNContactPickerViewController इस्तेमाल किया है। मैं संपर्क का नाम और नंबर CNContactPicker प्रतिनिधि तरीकों का उपयोग कर का उपयोग करें। नीचे के रूप में कोड

    func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {
    // You can fetch selected name and number in the following way

    // user name
    let userName: String = \(contact.givenName) \(contact.familyName)

    // user phone number
    let userPhoneNumbers:[CNLabeledValue<CNPhoneNumber>] = contact.phoneNumbers
    let firstPhoneNumber:CNPhoneNumber = userPhoneNumbers[0].value

    // user phone number string
    let primaryPhoneNumberStr:String = firstPhoneNumber.stringValue

   // print(primaryPhoneNumberStr)

    textfieldName.text = userName
    textfieldContactNo.text = primaryPhoneNumberStr
}

मैं यह करने के लिए सत्यापन निम्नलिखित सत्यापन लागू करना चाहते हैं -

  1. चयनित नहीं एक मोबाइल फोन या लैंडलाइन नंबर है।

  2. चेक नंबर एक देश कोड है या नहीं।

किसी को ऊपर सत्यापन के साथ मेरी मदद कृपया कर सकते हैं।

05/09/2019 को 06:40
उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

यह एक मुश्किल सवाल मुझे विश्वास है कि कोई सही && वैध एकल जवाब नहीं है :) मैं क्यों की व्याख्या करेंगे है।

के अपने पहले मान्यता है, जो आपको पहचानने के लिए उपयोगकर्ता चयनित संपर्कों के फ़ोन नंबर एक मोबाइल फोन या लैंडलाइन है चाहता हूँ लेते हैं। वर्तमान में, आईओएस के लिए एक विकल्प कॉल प्रदान नहीं कर रहा है लैंडलाइन । मौजूदा विकल्पों नीचे की तरह हैं।

यहाँ छवि विवरण दर्ज

आप ऊपर छवि में देख सकते हैं, आप प्राप्त कर सकते हैं फोन नंबर ऊपर श्रेणी के किसी भी जोड़ा जाता है। आप कैसे प्राप्त कर सकते है कि कोड से नीचे के रूप में है।

let phoneNumberType = userPhoneNumbers[0].label

एक स्विच के साथ या अगर-किसी और बयान, आप श्रेणी फ़िल्टर कर सकते हैं। उदाहरण के तौर पे

    if (phoneNumberType?.contains("Mobile"))! {
        print("This is a mobile number")
    }

दूसरी मान्यता है कि आप पूछ रहे हैं नंबर एक देश कोड है कि क्या जांच करने के लिए है। निम्नलिखित डिबग आउटपुट को देखो।

यहाँ छवि विवरण दर्ज

आप देख सकते हैं, भले ही वास्तविक फोन नंबर न्यूजीलैंड के एक देश कोड है, देश कोड कुंजी एक अलग से एक है, जो मुझे यकीन है कि क्यों नहीं कर रहा हूँ देता है। आप (उदा। +, 00 ...) फोन नंबर निकाल सकते हैं और अपने खुद के सत्यापन बनाने लेकिन कई संयोजन है कि आप विचार करने की जरूरत है।

इन सभी प्रयास के बाद, अगर आप एप्लिकेशन स्टोर करने के लिए अपने निर्माण अपलोड कर रहे हैं, वहाँ खारिज कर (जब तक आप एक वैध तर्क है) के बाद से आप उपयोगकर्ता की व्यक्तिगत जानकारी को निकालने के लिए कोशिश कर रहे हैं की संभावना है। क्यों मेरे पहले ही वाक्य मान्य है कि;)

05/09/2019 को 08:54
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more