Сценарій для створення контактів iPhone


8

Хтось знає про спосіб створення списку контактів із визначеною кількістю контактів? Вони можуть бути фіктивними записами, але мені просто потрібно створити адресну книгу з> 2000 записами. Сценарій Автоматизатора - це те, що я маю на увазі, але я не впевнений, як це зробити.

Прошу вибачення, якщо це не в тому місці. Обмірковував SU чи SE, але подумав, я б почав тут.

Відповіді:


11

Applescript може масово створювати записи адресної книги OS X, які потім можна імпортувати на ваш iPhone. Я склав для вас основний:

-- 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

Відкрийте редактор AppleScript (у своїй Applications/Utilities/папці) та вставте його до нового сценарію. Так, це зробить вам 5 пронумерованих контактів так: приклад контактів

Ви можете змінити номер у set numberOfEntries to "5" as integerрядку на те, скільки потрібно, та змінити дані, якщо бажаєте. Якщо вам потрібні інші поля (наприклад, номери телефонів), запитайте, і я можу показати вам, як.

Поліпшена версія

Я трохи зайшов за борт і зробив версію, яка придумує приємніші назви. Я взяв 20 найпопулярніших чоловічих і жіночих імен, 40 найпопулярніших прізвищ і додав середнє початкове, тож ви отримуєте досить низький шанс на копії (трохи менше 5% у наборі 2000 року, за моєю математикою) без goofy шукає пронумеровані контакти.

Крім того, він додає всі контакти до групи ("Тестова група"), щоб ви могли легко вибрати всі підроблені, якщо ви додаєте їх до вже існуючої адресної книги та хочете очистити їх пізніше.

Редагувати: я також змінив його, щоб підказати, скільки елементів створити, тому не потрібно редагувати код.

-- 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

Ось що це створює: фіктивні контакти 2


1
Виглядає досконало! Дякую! Я випробую це і дам вам знати, чи потрібно мені щось інше!
Томас

Хлопець, я б хотів, щоб я міг поставити +1000 для додаткових зусиль. Знову дякую!!!
Томас

Ви раді, раді, що це було корисно. Іноді цікаво просто скласти трохи сценарію, щоб вирішити одну проблему.
robmathers

1
Я змінив "вдосконалену" версію, щоб включити підказку про кількість генеруючих контактів, а не вимагати редагування сценарію.
robmathers

4

Я використовував код Роба у скороченому вигляді, щоб створити службу автоматизації, яка дозволяє вам клацнути правою кнопкою миші по електронній пошті та створити контакт:

введіть тут опис зображення

Дуже дякую Роб - ти врятував мені години та години роботи :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.