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.
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
—
Billie Hawkins
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.
Eu estava um pouco incerto anteriormente: você já tentou
—
Niko Nyman
...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
.