                             var contactEmail: ContactEmail = ContactEmail()
                             
                             var email:String = Unmanaged.fromOpaque(ABMultiValueCopyValueAtIndex(emails, i).toOpaque()).takeUnretainedValue() as NSObject as String
-                            var emailLabel:String = self.getLabel(Unmanaged.fromOpaque(ABMultiValueCopyLabelAtIndex(emails, i).toOpaque()).takeUnretainedValue() as NSObject as String)
+                            
+                            var optEL = ABMultiValueCopyLabelAtIndex(emails, i)?.toOpaque()
+                            if let EL = optEL {
+                                var phoneLabel:String = self.getLabel(Unmanaged.fromOpaque(EL).takeUnretainedValue() as NSObject as? String)
+                                contactEmail.setType(self.getMailTypeLabel(phoneLabel))
+                            }
                             
                             contactEmail.setEmail(email)
                             // in ios there is no primary email (we put the first apperance)
                             i == 0 ? contactEmail.setPrimary(true) : contactEmail.setPrimary(false)
-                            contactEmail.setType(self.getMailTypeLabel(emailLabel))
                             contactEmailsList.append(contactEmail)
                         }
                         

    :author: Ferran Vila Conesa
    :since: ARP1.0
    */
    func getLabel(nonFormatedLabel: String) -> String {
        
        for (key, value) in PIM_LABELS {
            if key == nonFormatedLabel {
                return value
            }
        }
        return "other"
    }
    
    /**

                            
                            var fullAddress:String = (street + " " + zip + ", " + city + " " + country + " (" + countryCode + ")")
                            
                            contactAddress.setAddress(fullAddress)
                            contactAddressList.append(contactAddress)
                        }
