8 votes

script pour créer des contacts iPhone

Quelqu'un connaît-il un moyen de créer une liste de contacts avec un nombre défini de contacts ? Il peut s'agir d'entrées factices, mais j'ai besoin de créer un carnet d'adresses avec plus de 2000 entrées. Je pense à un script Automator script, mais je ne suis pas sûr de savoir comment m'y prendre.

Je m'excuse si ce n'est pas au bon endroit. Je pensais à SU ou SE, mais je me suis dit que je devais commencer ici.

11voto

Ged Byrne Points 481

Un Applescript permet de créer en masse des entrées du carnet d'adresses OS X, que vous pouvez ensuite importer sur votre iPhone. J'en ai créé un de base pour vous :

-- Change these to your desired data
set firstName to "Test"
set lastName to "User"
set numberOfEntries to "5" as integer

set counter to "1" as integer
tell application "Address Book"
    repeat numberOfEntries times
        set thePerson to make new person with properties {first name:firstName, last name:lastName & " " & counter}
        make new email at end of emails of thePerson with properties {label:"Work", value:"test" & counter & "@example.com"}
        make new address at end of addresses of thePerson with properties {label:"Home", city:"Fakeville", street:(counter as string) & " Some St."}
        set counter to counter + 1
    end repeat
    save
end tell

Ouvrir Éditeur AppleScript (dans votre Applications/Utilities/ ) et collez-le dans un nouveau script. Tel quel, il vous donnera 5 contacts numérotés comme suit : example contacts

Vous pouvez modifier le numéro dans le champ set numberOfEntries to "5" as integer pour qu'il y en ait autant que nécessaire, et modifiez les données si vous le souhaitez. Si vous avez besoin d'autres champs (comme des numéros de téléphone), demandez et je vous montrerai comment faire.

Version améliorée

Je suis allé un peu trop loin et j'ai créé une version qui propose des noms plus agréables. J'ai pris les 20 noms masculins et féminins les plus populaires, les 40 noms de famille les plus populaires et j'ai ajouté l'initiale du deuxième prénom, de sorte que le risque de doublons est assez faible (un peu moins de 5 % sur un ensemble de 2 000, d'après mes calculs) sans que les contacts numérotés aient l'air ridicules.

Il ajoute également tous les contacts à un groupe ("Groupe de test"), ce qui vous permet d'éliminer facilement tous les contacts fictifs si vous ajoutez des contacts à un carnet d'adresses existant et que vous souhaitez le nettoyer ultérieurement.

Editer : Je l'ai également modifié pour qu'il demande le nombre d'articles à créer, de sorte qu'il n'est pas nécessaire de modifier le code.

-- name lists: 20 most popular (US) male and female first names, 40 most popular last names
set firstNameList to {"Mary", "Patricia", "Linda", "Barbara", "Elizabeth", "Jennifer", "Maria", "Susan", "Margaret", "Dorothy", "Lisa", "Nancy", "Karen", "Betty", "Helen", "Sandra", "Donna", "Carol", "Ruth", "Sharon", "James", "John", "Robert", "Michael", "William", "David", "Richard", "Charles", "Joseph", "Thomas", "Christopher", "Daniel", "Paul", "Mark", "Donald", "George", "Kenneth", "Steven", "Edward", "Brian"}
set lastNameList to {"Smith", "Johnson", "Williams", "Jones", "Brown", "Davis", "Miller", "Wilson", "Moore", "Taylor", "Anderson", "Thomas", "Jackson", "White", "Harris", "Martin", "Thompson", "Garcia", "Martinez", "Robinson", "Clark", "Rodriguez", "Lewis", "Lee", "Walker", "Hall", "Allen", "Young", "Hernandez", "King", "Wright", "Lopez", "Hill", "Scott", "Green", "Adams", "Baker", "Gonzalez", "Nelson", "Carter"}
set initialList to "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set counter to "1" as integer

-- prompt for how many contacts to create
set dialogText to "Number of contacts to create?"
repeat
    display dialog dialogText default answer ""
    set numberOfEntries to text returned of result
    try
        if numberOfEntries = "" then error
        set numberOfEntries to numberOfEntries as number
        exit repeat
    on error

    end try
end repeat

-- populate the address book
tell application "Address Book"
    set theGroup to make new group with properties {name:"Test Group"}
    repeat numberOfEntries times
        set firstName to some item of firstNameList
        set lastName to some item of lastNameList
        set middleInitial to some item of initialList & "."
        set thePerson to make new person with properties {first name:firstName, middle name:middleInitial, last name:lastName}
        make new email at end of emails of thePerson with properties {label:"Work", value:firstName & middleInitial & lastName & "@example.com"}
        make new address at end of addresses of thePerson with properties {label:"Home", city:"Fakeville", street:(counter as string) & " Some St."}
        add thePerson to theGroup
        set counter to counter + 1
    end repeat
    save
end tell

Voici ce qu'il génère : dummy contacts 2

4voto

Josh Haberman Points 2289

J'ai utilisé le code de Rob sous une forme plus courte pour créer un service Automator qui vous permet de cliquer avec le bouton droit de la souris sur un courriel et de créer un contact :

enter image description here

Merci beaucoup Rob - vous m'avez épargné des heures et des heures de travail :-)

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