Applescript może zbiorczo tworzyć wpisy książki adresowej OS X, które można następnie zaimportować do iPhone'a. Stworzyłem dla ciebie podstawowy:
-- 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
Otwórz AppleScript Editor (w Applications/Utilities/
folderze) i wklej to w nowym skrypcie. W tej chwili uzyskasz 5 ponumerowanych kontaktów:
Możesz zmienić liczbę w set numberOfEntries to "5" as integer
wierszu na tyle, ile potrzebujesz, i zmienić dane, jeśli chcesz. Jeśli potrzebujesz innych pól (takich jak numery telefonów), zapytaj, a pokażę Ci, jak to zrobić.
Poprawiona wersja
Poszedłem trochę za burtę i stworzyłem wersję, która ma ładniejsze nazwy. Wziąłem 20 najpopularniejszych imion męskich i żeńskich, 40 najpopularniejszych nazwisk i dodałem środkowy inicjał, więc masz dość małą szansę na duplikaty (nieco poniżej 5% w zestawie 2000, według mojej matematyki) bez głupkowato wyglądające numerowane kontakty.
Dodaje również wszystkie kontakty do grupy („Grupa testowa”), dzięki czemu możesz łatwo wybrać wszystkie obojętne, jeśli dodajesz do istniejącej książki adresowej i chcesz ją później wyczyścić.
Edycja: Zmieniłem go również, aby pytać o liczbę elementów do utworzenia, więc nie trzeba edytować kodu.
-- 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
Oto, co generuje:
Użyłem kodu Roba w krótszej formie, aby utworzyć usługę Automator, która umożliwia kliknięcie wiadomości e-mail prawym przyciskiem myszy i utworzenie kontaktu:
Dziękuję bardzo Rob - zaoszczędziłeś mi godziny pracy :-)
źródło