     
     return CNLabeledValue(
       label:label,
-      value: emailAddress["value"] as! String
+      value: emailAddress["value"] as! NSString
     )
   }
   


  }
  
  @objc func getContact(_ identifier: String, callback: (NSObject) -> () ) -> Void {
      
    let cNContact = getCNContact( identifier, keysToFetch: keysToFetch as [CNKeyDescriptor] )
    
    if ( cNContact == nil ) {
      callback( ["Could not find a contact with the identifier " + identifier, NSNull()] )
      
      return
    }


    for cNContactPhoneNumber in cNContact.phoneNumbers {

      var phoneNumber = [String: String]()

      let cNPhoneNumber = cNContactPhoneNumber.value 

      phoneNumber["identifier"]  = cNContactPhoneNumber.identifier
      phoneNumber["label"]       = CNLabeledValue<NSString>.localizedString( forLabel: cNContactPhoneNumber.label ?? "" )
      phoneNumber["stringValue"] = cNPhoneNumber.stringValue
      phoneNumber["countryCode"] = cNPhoneNumber.value(forKey: "countryCode") as? String
      phoneNumber["digits"]      = cNPhoneNumber.value(forKey: "digits") as? String

      phoneNumbers.append( phoneNumber as AnyObject )
    }
