Может ли вызов «сказать» «Яблоко» выполнить без видимого запуска приложения? - PullRequest
5 голосов
/ 17 февраля 2011

У меня настроено почтовое правило для запуска следующего яблочного сценария:

using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        tell application "Mail"

            -- do stuff, including...
            CheckAddressBook(theName, theAddress)

        end tell
    end perform mail action with messages
end using terms from

on CheckAddressBook(theName, theAddress)
    tell application "Address Book"
        -- do stuff
    end tell
end CheckAddressBook

Каждый раз, когда выполняется это почтовое правило, оно запускает адресную книгу.Он не активирован, но внезапно появляется на моем рабочем столе.У меня такой вопрос: можно ли дать блокам указание автоматически запустить приложение и завершить его после завершения?

Ответы [ 2 ]

4 голосов
/ 17 февраля 2011

AppleScript не может управлять приложением без его запуска. Вот как это работает. Существуют и другие методы, которые можно использовать для доступа к базе данных адресной книги без запуска приложения, но если вы используете AppleScript для получения данных из базы данных адресной книги, приложение должно быть запущено. Моя рекомендация будет состоять в том, чтобы просто добавить команду выхода, как предложено Фабио.

2 голосов
/ 18 февраля 2011

Чтобы прочитать базу данных адресной книги без запуска «Address Book.app», я бы посоветовал взглянуть на инструмент командной строки «контакты», доступный бесплатно здесь .Затем вы запустите его из Applescript, как do shell script "/usr/bin/contacts Peter", и обработаете возвращенные значения.

...