CNContactPickerViewController validering for mobilnummer i iOS Swift

stemmer
20

Jeg har brukt CNContactPickerViewController å aktivere brukeren å velge en kontakt fra kontaktlisten som er lagret på telefonen. Jeg bruker kontakt navn og nummer ved hjelp CNContactPicker delegat metoder. Kode som nedenfor

    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
}

Jeg ønsker å søke valideringer følgende valideringer til det -

  1. Valgte ikke er en mobiltelefon eller fasttelefon nummer.

  2. Kontroller at antallet har en landskode.

Kan noen vennligst hjelpe meg med de ovennevnte valideringer.

Publisert på 05/09/2019 klokken 06:40
bruker
På andre språk...                            


1 svar

stemmer
1

Dette er et vanskelig spørsmål som jeg tror det ikke er riktig && gyldig enkelt svar :) Jeg skal forklare hvorfor.

La oss ta det første validering, som du ønsker å identifisere telefonnummer brukeren valgte kontaktens er en mobiltelefon eller fasttelefon. I dag er iOS ikke gi et alternativ samtale fasttelefon . De eksisterende alternativene er like nedenfor.

skriv bildebeskrivelse her

Som du kan se i bildet over, kan du få telefonnummeret er lagt til noen av de ovennevnte kategori. Hvordan du kan oppnå det fra koden er som nedenfor.

let phoneNumberType = userPhoneNumbers[0].label

Med en bryter eller if-else setningen, kan du filtrere kategorien. Som et eksempel

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

Den andre bekreftelse på at du spør er å sjekke om tallet har en landskode. Se på følgende avlusningsinformasjon.

skriv bildebeskrivelse her

Som du kan se, selv om reell telefonnummer har et landskoden til New Zealand, country gir nøkkelen en annen, som jeg er ikke sikker på hvorfor. Du kan trekke ut telefonnummeret og lage dine egne valideringer (Ex. +, 00 ...), men det er flere kombinasjoner som du må vurdere.

Etter alle disse innsats, hvis du laster opp din build til App Store, er det mulighet for å bli avvist (med mindre du har en gyldig argumenter) siden du prøver å trekke ut brukerens personlige opplysninger. Derfor er min aller første setning er gyldig;)

Svarte 05/09/2019 kl. 08:54
kilden bruker

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