10 votes

Comment trier les contacts par date de création ou de modification dans iOS Contacts ou OS X Contacts 7.x ?

Existe-t-il un moyen d'afficher ou d'exporter la date de création ou de modification d'un contact dans iOS 7 et/ou l'application Contacts (version 7.1) lorsqu'elle est consultée à partir d'un Mac ?

Ce point de données unique faciliterait énormément le dédoublonnage et la synchronisation, même d'une manière plus manuelle.

4voto

Matthieu Riegler Points 20160

Après avoir creusé un peu dans Contacts DB voici ce que j'ai trouvé.

Comme l'a déjà dit @grgarside, la base de données se trouve dans

~/Library/Application\ Support/Address\ Book/Sources/<source-ID>/AddressBook-v22.abcddb

<source-ID> est très probablement le répertoire modifié le plus récemment.

AddressBook-v22.abcddb est un fichier de base de données SQLite contenant 24 tables (dans mon cas). La plus importante est ZABCDRECORD qui contient (entre autres) le prénom, le nom et la date de création du contact (mais aussi la modification, etc.).

Les 2 colonnes intéressantes dans votre cas sont :

  • ZCREATIONDATE
  • ZMODIFICATIONDATE

En tant que J'ai découvert récemment La date de base pour ces deux colonnes est le 01-01-2001. Les colonnes ZMODIFICATIONDATEYEARLESS y ZCREATIONDATEYEARLESS utiliser le 1er janvier de l'année de création comme date de référence.

Utilisation sqlite vous pouvez faire le tri comme ça :

sqlite3 AddressBook-v22.abcddb "select ZFirstName, ZLastName from ZABCDRECORD order by ZMODIFICATIONDATE"

Il affichera Prénom/Nom trié par date de modification.

3voto

grg Points 181593

La base de données des contacts est stockée dans une seule base de données SQLite3. Vous pouvez trouver la vôtre ici

~/Library/Application\ Support/AddressBook/Sources/<source-ID>/AddressBook-v22.abcddb

Il peut être exporté à l'aide de

sqlite3 AddressBook-v22.abcddb .dump > ~/Desktop/export

Comme le résultat est un fichier unique et que les dates de création/modification ne semblent pas être stockées dans ma base de données, la seule façon de trier par date est de comparer les différentes versions du fichier.

Vous pouvez utiliser Time Machine pour récupérer les anciennes versions du fichier et FileMerge (un outil de développement) ou un autre outil de comparaison tel que Kaleidoscope pour comparer les résultats.

Si vous souhaitez consulter votre base de données iOS, vous pouvez soit Jailbreak, soit synchroniser vos contacts sur votre Mac.

1voto

user320794 Points 1

Essayez quelque chose comme ça si vous voulez trier par date de création et voir la date :

  1. Terminal ouvert
  2. Naviguer vers AddressBook-v22.abcddb
  3. Sqlite3 AddressBook-v22.abcddb "select datetime(ZCREATIONDATE,'unixepoch'), ZFirstName, ZLastName from ZABCDRECORD order by ZCREATIONDATE"

0voto

ICL1901 Points 2792

Pour compléter les réponses données ici (je ne sais toujours pas comment ajouter un lien à un commentaire) - si vous souhaitez faire cela une seule fois, le shell scripts suffira. Si vous souhaitez le faire en permanence, vous pouvez envisager d'utiliser un produit - j'utilise SQLiteManager mais c'est cher, sauf quand c'est en solde. Il existe un certain nombre de gestionnaires SQLite gratuits ou basés sur le web. Ces applications (comme SQLManager) devraient avoir la possibilité de classer les données par colonne. Je trouve cela très utile, non seulement pour les contacts, mais aussi pour toute base de données SQLite. Ici est un exemple d'extension Firefox SQLite.

À titre de référence, si vous souhaitez voir les bases de données SQLite utilisées par les applications, recherchez l'application dans le Finder (~/Music/iTunes/Mobile \ Applications, copiez-la sur votre bureau. Remplacez le suffixe par zip et double-cliquez. Soyez prudent. Faites un contrôle-clic sur le fichier .app, et si le développeur ne s'en est pas soucié, le fichier sqlite se trouvera au niveau supérieur. J'utilise cette fonction pour tester mes applications lorsqu'elles sont mises en ligne ou lorsque le système d'exploitation change.

Si vous choisissez de rester avec scripts, peut-être que quelqu'un d'autre pourra vous donner les détails, mais je pense que vous pourriez créer un scripts qui non seulement copierait les contacts - je suggère - en lecture seule - mais les collerait ensuite dans Numbers ou l'équivalent. Vous auriez alors la possibilité de trier par colonne.

0voto

Michael Johnston Points 2195

Si vous souhaitez simplement afficher rapidement vos contacts classés par date de création, il existe quelques applications qui permettent de le faire. Par exemple, https://itunes.apple.com/tc/app/recent-contacts/id541831736?mt=8 .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X