8 votos

script para crear contactos en el iPhone

¿Alguien sabe cómo crear una lista de contactos con una cantidad definida de contactos? Pueden ser entradas ficticias, pero necesito crear una libreta de direcciones con > 2000 entradas. Un Automator script es lo que tengo en mente, pero no estoy seguro de cómo hacerlo.

Me disculpo si esto está en el lugar equivocado. Estaba considerando SU o SE, pero pensé en empezar aquí.

11voto

Ged Byrne Puntos 481

Un Applescript puede crear en masa las entradas de la libreta de direcciones de OS X, que luego puedes importar a tu iPhone. He creado uno básico para ti:

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

Abrir Editor de AppleScript (en su Applications/Utilities/ ) y pegarlo en un nuevo script. Tal y como está, te hará 5 contactos numerados así: example contacts

Puede cambiar el número en el set numberOfEntries to "5" as integer hasta el número que necesite, y cambie los datos si lo desea. Si necesitas otros campos (como números de teléfono), pregunta y te puedo enseñar cómo.

Versión mejorada

Me he pasado un poco y he hecho una versión que sale con nombres más bonitos. Tomé los 20 nombres masculinos y femeninos más populares, los 40 apellidos más populares y añadí una inicial del segundo nombre, de modo que se obtiene una probabilidad bastante baja de duplicados (un poco menos del 5% en un conjunto de 2000, según mis cálculos) sin los contactos numerados de aspecto ridículo.

También añade todos los contactos a un grupo ("Grupo de prueba") para que puedas elegir fácilmente todos los que no sirven si estás añadiendo a una libreta de direcciones existente y quieres limpiarla más tarde.

Editar: También lo he cambiado para que pregunte por el número de elementos a crear, por lo que no es necesario editar el código.

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

Esto es lo que genera: dummy contacts 2

1 votos

¡Se ve perfecto! Gracias. ¡Lo probaré y te diré si necesito algo más!

0 votos

Hombre me gustaría poder +1000 a esto por el esfuerzo extra. ¡¡¡Gracias de nuevo!!!

0 votos

De nada, me alegro de que haya sido útil. A veces es divertido armar un pequeño script para resolver un problema.

4voto

Josh Haberman Puntos 2289

He utilizado el código de Rob de forma más corta para crear un servicio de Automator que permite hacer clic con el botón derecho del ratón en un correo electrónico y crear un contacto:

enter image description here

Muchas gracias Rob - me has ahorrado horas y horas de trabajo :-)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X