Applescript, OS X: Como obter uma lista de números de telefone de contatos e enviar um aplicativo iMessage com mensagens? No meio do caminho eu acho ..?

2

Eu estou tentando criar um applescript que vai pegar todos os etiquetado números de telefone de 'mobile' e 'iPhone' do cada contato no aplicativo Contatos (especificamente os números de telefone da conta iCloud), e em seguida, enviar um iMessage ou SMS para eles usando Mensagens App.

Eu acho que tenho uma boa parte disso, mas recebo 2 erros que não consigo entender.

tell application "Contacts"
    repeat with eachContact in (get every person)
        repeat with eachPhoneNum in (get phones of eachContact)
if label of eachPhoneNum is "mobile" or "iPhone" then
            delay 2

            tell application "Messages"
                set myid to get id of first service
                set theBuddy to buddy eachPhoneNum of service id myid
                send theMessage to theBuddy
            end tell
end if
        end repeat
    end repeat
end tell

Erro corrigido 1 : Contacts got an error: Can’t get label. Como script está acima.

Ainda está ocorrendo o erro 2: Can’t make «class az20» 1 of «class azf4» id "89E7AF18-A017-4119-B788-CBB96571FAAE:ABPerson" of application "Contacts" into the expected type.

Billie Hawkins
fonte
Você poderia tentar fazer uma Exemplo mínimo, completo e verificável que se concentra no problema que você está enfrentando com a menor quantidade de código possível?
grg
@grgarside - Atualizado. O código anterior era um exemplo de trabalho completo, verificável, mas estou mais do que feliz em limpá-lo para torná-lo 'mínimo'. Obrigado :)
Billie Hawkins
A partir do erro 1, você recebe a etiqueta do celular "celular" e o rótulo "iPhone". Não posso experimentar agora, pois estou no iOS ...
Niko Nyman
@NikoNyman Sim, quando eu removo os critérios do rótulo, recebo um class error que isso can't convert the type. Eu estou supondo que isso significa que não pode converter o resultado de phone na variável eachPhoneNum e precisa de algum tipo de conversão .. Mas eu até tentei adicionar as text para convertê-lo e ainda recebo o erro.
Billie Hawkins
Eu estava um pouco incerto anteriormente: você já tentou ...whose phone label is "mobile" or phone label is "iPhone"? Para mim, parece que você está recebendo o primeiro erro de tentar acessar label "iPhone" e (eu assumo) a propriedade é chamada phone label.
Niko Nyman