IOS Swift cep telefonu numarası CNContactPickerViewController doğrulama

oy
20

Telefonda saklanan kişi listesinde bir kişi seçmek mümkün kılmak için CNContactPickerViewController kullandık. Ben CNContactPicker temsilci yöntemleri kullanarak kişi adını ve numarasını kullanabilirsiniz. aşağıdaki gibi kod

    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
}

Ben doğrulamaları buna doğrulamaları aşağıdaki uygulamak istiyorum -

  1. Seçilmiş hiçbir bir cep telefonu veya sabit hat numarasıdır.

  2. numara bir ülke koduna sahip olmadığını kontrol edin.

Birisi yukarıda doğrulamaları ile yardım edebilir.

Oluştur 05/09/2019 saat 06:40
kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Bu hiçbir doğru && geçerli tek cevap olduğuna inanıyoruz :) neden açıklayacağım zor bir sorudur.

Diyelim ki kullanıcı seçilen kişinin telefon numarası bir cep telefonu veya sabit hat olduğunu tanımlamak istediğiniz ilk doğrulama, ele alalım. Şu anda, iOS bir seçenek çağrı sağlamıyor sabit hat . Varolan seçenekler aşağıda gibidir.

Burada görüntü açıklama girin

Yukarıdaki resimde de görebileceğiniz gibi, telefon numarası yukarıdaki kategoriden oluşan herhangi eklenir alabilirsiniz. Nasıl kodundan aşağıda olduğuna elde edebilirsiniz.

let phoneNumberType = userPhoneNumbers[0].label

Bir anahtarla veya if-else deyimi, kategoriyi filtreleme yapabilirsiniz. Örnek olarak

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

soruyorsun ikinci doğrulama numarası ülke kodunu olup olmadığını kontrol etmektir. Aşağıdaki hata ayıklama çıkışı bak.

Burada görüntü açıklama girin

Gördüğünüz gibi, gerçek telefon numarası Yeni Zelanda bir ülke kodu olsa bile, countryCode anahtarı neden emin değilim farklı bir tane verir. Telefon numarası ayıklamak ve kendi doğrulamaları oluşturmak (Ör. +, 00 ...) ancak dikkate almak gerekir bazı kombinasyonlar vardır edebilirsiniz.

Eğer App Store'a Yapınızın yüklüyorsanız, tüm bu çaba sonra, (eğer geçerli bir argüman var sürece) kullanıcının kişisel bilgilerini ayıklamak için çalışıyoruz beri reddedilen alma olasılığı vardır. benim ilk cümle geçerli olmasının nedeni budur;)

Cevap 05/09/2019 saat 08:54
kaynak kullanıcı

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