Ho un'app per iOS che deve accedere al controller di visualizzazione del selettore di contatti per consentire all'utente di selezionare una proprietà di contatto come l'indirizzo e-mail/i numeri di telefono degli indirizzi di posta elettronica.Estrazione di e-mail da CNContactProperty - iOS 9
Il problema che sto avendo ora, è che non riesco a capire come analizzare i dati restituiti. Ho utilizzato il metodo contactPicker didSelectContactProperty
, ma non sono in grado di analizzare i dati di cui ho bisogno.
-(void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty {
CNLabeledValue *test = contactProperty.contact.emailAddresses.firstObject;
NSLog(@"%@", test);
NSLog(@"%@", contactProperty.contact.phoneNumbers);
}
Se si esegue il codice di cui sopra si ottiene la seguente risposta:
2015-10-11 13:30:07.059 Actions[516:212765] <CNLabeledValue: 0x13656d090: identifier=21F2B1B2-8158-466B-9224-E2036CA07D28, label=_$!<Other>!$_, [email protected]> 2015-10-11 13:30:07.061 App_Name[516:212765] (
"<CNLabeledValue: 0x13672a500: identifier=6697A0E9-3B91-4566-B26E-83B87979F816, label=_$!<Main>!$_, value=<CNPhoneNumber: 0x13672a660: countryCode=gb, digits=08000391010>>")
Thats grande, ma come faccio a estrarre i dati che ho bisogno da esso? Perché le istruzioni NSLog restituiscono i dati in un formato strano?
Grazie per il tuo tempo, Dan.
Ah, giusto vedo. Grazie mille. Ho appena aggiornato l'utilizzo del vecchio framework AddressBook, quindi mi sono trovato in difficoltà. Grazie ancora :) – Supertecnoboff
Solo una domanda, mi aspetto che l'utente possa selezionare un indirizzo email di un numero di telefono. Come posso verificare ciò che hanno selezionato? – Supertecnoboff
Penso che quell'informazione sarebbe memorizzata in 'contactProperty.value',' contactProperty.label', 'contactProperty.key', ecc. Testerei ognuno di questi e vedremo cosa emette, come non l'ho mai usato prima personalmente. –