mi si avvicinò con una soluzione parziale a questo
è possibile ottenere il nome del dispositivo nel modo seguente
NSString *ownerName = [[UIDevice currentDevice] name];
in inglese un dispositivo è originariamente chiamato, per esempio, 'iPhone di Joe Blogg'
la pausa il nome
NSRange t = [ownerName rangeOfString:@"’s"];
if (t.location != NSNotFound) {
ownerName = [ownerName substringToIndex:t.location];
}
si può quindi prendere quel nome e cerca i contatti
CNContactStore * contactStore = [CNContactStore new];
NSPredicate *usersNamePredicate = [CNContact predicateForContactsMatchingName:usersName];
NSArray * keysToFetch = @[[CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName],CNContactPhoneNumbersKey,CNContactEmailAddressesKey,CNContactSocialProfilesKey, ];
NSArray * matchingContacts = [contactStore unifiedContactsMatchingPredicate:usersNamePredicate keysToFetch:keysToFetch error:nil];
Naturalmente altre lingue differiscono nella stringa di nome del dispositivo esempio 'iPhone Von Johann Schmidt', quindi è necessario fare più analisi per altre lingue e funziona solo se l'utente non ha cambiato il nome del dispositivo in iTunes con qualcosa come "Joes phone" ma ti dà un punto di partenza
bene ... ti dà una serie di articoli corrispondenti :) Quindi se c'è più di un contatto con quell'array devi solo usare la fortuna e andare con il primo o lavorare con più carte e prendere ciò di cui hai bisogno da ciascuno.
ho detto la sua una soluzione parziale e anche se non funziona per tutti i casi di utenti si potrebbe trovare funziona per molti dei vostri utenti e riduce un po 'di attrito
A quanto pare no, secondo @wilshipley: http : //twitter.com/wilshipley/status/1369679612 –
Puoi dirmi come posso fare una foto con Me card in mac? – Johnykutty
@Johnykutty Su Mavericks, seleziona la tua carta, quindi usa la voce di menu ** Carta> Crea questa mia carta **. – bneely