Accéder aux fiches d'un "unifiedContact" ?

les_innommables66

Membre expert
Club iGen
26 Février 2006
1 314
162
Bonjour,

Dans mon Carnet d'adresses, j'ai des contacts "unifiés", chacun avec deux fiches :
  • l'une avec des infos à caractère perso, sur un compte iCloud, partagée avec ma famille
  • l'autre avec des infos "business", rattachée à un autre compte iCloud

Avec xCode et swift, je veux supprimer et remplacer la fiche "business".
Mais en utilisant unifiedContactsMatchingPredicate (avec le predicate predicateForContactsInGroupWithIdentifier) j'accède à la fiche "unifiée" ; si je la supprime, je supprime les deux fiches liées. Je n'ai pas trouvé d'autre méthode.

Comment accéder seulement à l'une des fiches liées à un "unifiedContact" ?

Merci d'avance,
Cordialement,
Nicolas
 
Bonjour,

je pense qu'il vous faut travailler avec une copie temporaire ; puis mAj des deux sources distantes ; théoriquement je pense que l'API connait cette information, mais il ne semble pas y avoir un accès publique ; mais je ne suis pas un spécialiste concernant cette fonctionnalité ; peut-être quelqu'un d'autre sait mieux?
Bloc de code:
une mAj pourrait être vue ainsi:

-> source A copie AA (locale tmp)
-> source B copie BB (locale tmp)

-> source AB (locale tmp) = source AA  +  source BB

-> source A delete all
-> source B delete all
-> source A add all AB
-> source AB, AA, BB delete

// je synchronize tout partant du principe qu'une
// des deux DB est cleared, car il n'existe que des doublons
// ayant chacun des infos qui diffèrent partiellement,
// après il semble que vous voulez quelque chose d'un peu plus compliquée,
// mais il me parait évident qu'envisager de travailler avec des copies dans
// un premier temps, soit la bonne stratégie ; cela doit être possible
// en deux ou trois coups et non en un comme votre essai.
Cordialement.
 
Dernière édition:
Bonsoir,

J'ai trouvé une (la ?) solution : CNContactFetchRequest avec son option unifyResults !

Cordialement
Nicolas

Bonjour,

oui cela semble être la bonne méthode ; en tous les cas cette API contact est aussi bien faite que l'AppleStore ; on sent la "lumière"... ou comment rendre quelque chose de simple super compliquée pour rien, car cela n'est pas pensé, ils ont fait semblant ou en sont peut-être tout simplement incapables ; il y a de sérieuses lacunes chez les auteurs...

Cordialement.