İPhone Kişileri oluşturmak için komut dosyası


8

Tanımlı kişi sayısı ile Kişi listesi oluşturmanın bir yolunu bilen var mı? Kukla girişler olabilirler, ancak sadece> 2000 girişli bir adres defteri oluşturmam gerekiyor. Bir Automator betiği aklımda olan şey, ama bu konuda nasıl emin olacağım.

Yanlış yerde olup olmadığına özür dilerim. SU ya da SE'yi düşünüyordum, ama burada başlayacağımı düşündüm.

Yanıtlar:


11

Bir Applescript, daha sonra iPhone'unuza aktarabileceğiniz OS X adres defteri girişlerini toplu olarak oluşturabilir. Senin için temel bir tane hazırladım:

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

Açık AppleScript Editör (sizin de Applications/Utilities/klasöründe) ve yeni bir komut dosyasına bu yapıştırın. Olduğu gibi, size 5 numaralı kişi yapacak: örnek kişiler

Satırdaki sayıyı set numberOfEntries to "5" as integerihtiyaç duyduğunuz kadar değiştirebilirsiniz ve isterseniz verileri değiştirebilirsiniz. Başka alanlara (telefon numaraları gibi) ihtiyacınız varsa, sorun ve size nasıl olduğunu gösterebilirim.

Gelişmiş versiyon

Biraz denize girdim ve güzel isimlerle gelen bir versiyon yaptım. En popüler 20 erkek ve kadın ismini, 40 en popüler soyadını aldım ve bir orta ad ekledim, böylece kopya olmadan oldukça düşük bir şans (2000 setinde% 5'in biraz altında) aptal görünümlü numaralı kişiler.

Ayrıca tüm kişileri bir gruba ("Test Grubu") ekler, böylece mevcut bir adres defterine eklerseniz ve daha sonra temizlemek isterseniz tüm kuklaları kolayca seçebilirsiniz.

Düzenleme: Ayrıca kaç öğe oluşturmak istemek için değiştirdim, bu yüzden kodu düzenlemek gerekli değildir.

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

İşte ürettikleri: kukla kontaklar 2


1
MÜKEMMEL görünüyor! Teşekkürler! Test edeceğim ve başka bir şeye ihtiyacım olursa size haber vereceğim!
Thomas

Keşke ekstra çaba için bunu +1000 yapabilsem. Tekrar teşekkürler!!!
Thomas

Rica ederim, faydalı olduğuna sevindim. Bazen bir sorunu çözmek için küçük bir senaryoyu bir araya getirmek eğlencelidir.
robmathers

1
"Geliştirilmiş" sürümünü, komut dosyasının düzenlenmesini gerektirmek yerine, kişi sayısı için bir istem içerecek şekilde değiştirdim.
robmathers

4

Bir e-postaya sağ tıklayıp bir kişi oluşturmanızı sağlayan bir Automator Hizmeti oluşturmak için Rob'un kodunu daha kısa biçimde kullandım:

resim açıklamasını buraya girin

Çok teşekkürler Rob - beni saatlerce ve çalışma saatlerinde kurtardın :-)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.