title: Can't get the selected number from contactProperty
body: <p>After spending many hours troubleshooting, searching and trying out some answers on StackOverFlow. I couldn't get this to work properly, I need to be able to select any number that a contact have, but I always get <code>CNLabelPhoneNumberMain</code> or in some cases <code>CNLabelPhoneNumberMobile</code> even when selecting home/work number. </p>
  
  <p>I'm facing this trouble since long time and I appreciate if someone can point my mistake:</p>
  
  <p>Here is my code:</p>
  
  <pre><code>@IBAction func addSupporterContactTapped(_ sender: UIButton) {
  
       let contactPicker = CNContactPickerViewController()
       contactPicker.displayedPropertyKeys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey]
       contactPicker.delegate = self
       self.present(contactPicker, animated: true, completion: nil)
  }
  </code></pre>
  
  <p>And this is how selection is made:</p>
  
  <pre><code>func contactPicker(_ picker: CNContactPickerViewController, didSelect contactProperty: CNContactProperty) {
  
      let numbers = contactProperty.contact.phoneNumbers
      var phoneNumber: String?
  
              for contact in numbers {
          switch contact.label {
          case CNLabelHome:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelWork:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelOther:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberMain:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberiPhone:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberMobile:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberPager:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberHomeFax:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberWorkFax:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          case CNLabelPhoneNumberOtherFax:
              print("contact.label = \(contact.label ?? "")")
              phoneNumber = (contact.value ).stringValue
          default:
              break
          }
      }
  </code></pre>
  
  <p>But in anyway, as I mentioned above, I never get the correctly selected number. </p>
  
  <p>If it can help, When any number is selected, I get this printed in the console:</p>
  
  <pre><code>contact.label = _$!&lt;Home&gt;!$_
  contact.label = _$!&lt;Mobile&gt;!$_
  contact.label = _$!&lt;HomeFAX&gt;!$_
  </code></pre>
  
  <p>Is there anyone can help please?</p>