En utilisant l'infrastructure de carnet d'adresses intégrée pour iPhone, comment puis-je enregistrer une liste spécifique de contacts dans un tableau dans NSUserDefaults? Je dois enregistrer une liste de destinataires pour plus tard. Je veux m'assurer que je ne rencontre pas de problèmes si l'utilisateur édite les contacts après la fermeture de mon application. Y a-t-il une sorte d'identifiant unique que chaque contact a, que je peux sauvegarder et consulter plus tard?Enregistrement d'une liste de contacts dans NSUserDefaults
Répondre
ABRecordID
faire de certainement le changement (ayant appris cela à la dure - en raison de la synchronisation de contact de la machine multiple)
Matt Gemmell a une belle writeup à iphone-dev-tips-for-synced-contacts
Je ne stocke pas les nom composite, mais plutôt ABRecordId, prénom, nom, adresse e-mail et numéro de téléphone (les deux derniers sont directement utilisés par mon application).
Si je ne reçois pas un coup sur
ABRecordRef aRef = ABAddressBookGetPersonWithRecordID(addressBook, aRecordId);
J'utilise un tas de code pour trouver des correspondances possibles sur le nom, prénom, puis l'affiner par des numéros de téléphone. En conclusion, j'associe un UUID généré pour le contact afin que toute cette résolution (potentiellement) floue soit extraite des données que j'associe à un contact.
ABRecordRef possède une propriété ABRecordID que vous devriez être en mesure d'utiliser pour l'identifier de manière unique en vue d'un accès ultérieur.
Soyez prudent avec cela, je crois qu'il y avait un problème (au moins dans pré OS3.0) où cet ABRecordID pourrait changer lorsque l'utilisateur synchronisé leur appareil. Cela peut évidemment causer des problèmes si vous comptez utiliser à nouveau cet identifiant. Je ne sais pas si cela se passe encore dans OS3.0 ou non.
http://discussions.apple.com/thread.jspa?threadID=1771736
Juste quelque chose à surveiller.
- 1. Problème avec l'importation de liste de contacts à partir de contacts gmail en utilisant php
- 2. NSUserDefaults: plantage de setObject
- 3. iPhone NSUserDefaults
- 4. NSUserDefaults vs sqlite3
- 5. Enregistrement d'une liste liée
- 6. NSUserDefaults n'épargnent pas correctement
- 7. Comment sécuriser NSUserDefaults?
- 8. Enregistrement d'un entier unique dans NSdefaults
- 9. Devrais-je m'inquiéter des collisions dans NSUserDefaults?
- 10. Enregistrer les entités CoreData dans NSUserDefaults
- 11. Réagir aux nouveaux contacts de l'application Contacts Android
- 12. Google App Engine: Enregistrement d'une liste d'objets?
- 13. Recevez des e-mails Contacts de l'échange 2007 dans C#
- 14. Importation de contacts à partir de GMail - Conception Question
- 15. Enregistrement d'une liste de cases à cocher symfony
- 16. UISearchBar teinté comme Contacts
- 17. Enregistrement de l'ordre d'une liste (php/zend/jquery)
- 18. Comment puis-je obtenir la liste de contacts à partir de mobiles?
- 19. Contacts Gmail Solutions de contournement de l'API
- 20. Accéder à la liste de contacts pour utiliser l'adresse e-mail?
- 21. Enregistrement de graphiques dans Haskell
- 22. Enregistrement de Double.MinValue dans SQLServer
- 23. Schéma du système de gestion des contacts
- 24. Utilisation de VPIM et stockage des contacts
- 25. code source des contacts - application de l'iPhone
- 26. Comportement du sélecteur de contacts iPhone (comme dans Mail.app)
- 27. Problème lors de l'accès des contacts d'Android
- 28. Comment créer une barre de défilement de style dictionnaire pour iPhone (comme dans la liste des contacts)?
- 29. gdata obtenir des contacts d'un certain groupe
- 30. Réception (glissé et) des contacts Outlook supprimés dans C#?
comme mentionné ci-dessus ce n'est pas fiable en raison de la synchronisation. peut-être qu'en 2009 ce n'était pas le cas. – MrTristan