Кто-нибудь знает, как создать ярлык для прикрепления выбранного файла в iMessage?
Я хотел бы иметь возможность выбрать элемент на рабочем столе и ввести ярлык, чтобы прикрепить выбранный элемент к новому сообщению с помощью приложения Сообщения. Я попытался создать один в системных настройках / клавиатура / сочетания клавиш / ярлыки приложений под Finder.app набрал "Поделиться> Сообщение", и это не сработало. У меня есть ярлык для "нового письма с выбором", который я создал с помощью Automator, но сообщения там не вариант. Я также попытался выполнить поиск команды Applescript или терминала для этого, чтобы сделать это жестом смахивания с помощью Better Touch Tool. Я разговаривал со старшим советником Apple, и он сказал, что тоже не знает, как это сделать, и разместить его на форумах.
Если кто-нибудь знает, как сделать ярлык для этого действия, пожалуйста, дайте мне знать.
обновление: я скопировал это из /System/Library/PrivateFrameworks/ShareKit.Framework/Versions/A/Plugins/Message s.sharingservice/Contents/MacOS
Если кто-нибудь знает, может ли эта строка быть превращена в.service с автоматом, пожалуйста, дайте мне знать, как это сделать / изменить.
Спасибо
/System/Library/PrivateFrameworks/ShareKit.framework/Versions/A/PlugIns/Messages.sharingservice/Contents/MacOS /Messages; выход; NAME-Mac:~ NAME$ /System/Library/PrivateFrameworks/ShareKit.framework/Versions/A/PlugIns/Message s.sharingservice/Contents/MacOS/Messages; выход; -bash: /System/Library/PrivateFrameworks/ShareKit.framework/Versions/A/PlugIns/Message s.sharingservice/Contents/MacOS/Messages
--
задержка 0,218623 установите для timeoutSeconds значение 2.000000, установите для uiScript "щелкнуть изображение \" Тестовый файл \ "группы 1 области прокрутки 1 процесса приложения \" Finder \ "" my doWithTimeout( uiScript, timeoutSeconds)
- Задержка сообщения 0.263641 установить время ожидания секунды 2.000000 установить uiScript для "щелкнуть пункт меню \" Сообщение \ "меню 1 пункта меню" Поделиться "меню 1 из группы 1 области прокрутки 1 процесса приложения \" Поиск " "my doWithTimeout (uiScript, timeoutSeconds)
в doWithTimeout (uiScript, timeoutSeconds) установите для endDate значение (текущая дата) + timeoutSeconds, повторяйте попытку запуска сценария "сообщить приложению \" Системные события \" " & uiScript & "конец рассказать" завершить повтор при ошибке errorMessage if ((текущая дата) > endDate) тогда ошибка "Can not " & uiScript end, если end, попытаться, end, повторить, end, doWithTimeout.
1 ответ
Я не вижу, как заставить их работать.
Вы можете настроить службу Automator с ее входным параметром для файлов и папок в "Finder"
и использовать этот код в действии Run Applescript.
Это работает, но главное, что было проблемой, это найти правильного приятеля. Я установил его, чтобы вы могли выбрать тот, который вы хотите. Можно было бы проделать дополнительную работу. Я надеюсь, что вы сможете ввести имя, и он вернет меньший список совпадающих имен и дескрипторов.
on run {input, parameters}
set buddieList to {}
set splitter to "======"
tell application "Messages"
--set buddieList to {name of buddies, handle of buddies}
repeat with i from 1 to number of items in buddies
set this_item to item i of buddies
copy (name of this_item as string) & splitter & handle of this_item as string to end of buddieList
end repeat
end tell
set inputAlias to item 1 of input as alias
set text_returned to item 1 of (choose from list buddieList with prompt "TO:" without multiple selections allowed and empty selection allowed)
set theBuddy to (do shell script "echo " & quoted form of text_returned & " | awk -F" & splitter & " '{print $2}'")
tell application "Messages"
set theBuddy to first buddy whose handle is theBuddy
send inputAlias to theBuddy
end tell
end run
**ОБНОВИТЬ.
В ответ на ваши комментарии: я на самом деле не использовал поле поиска в папке поиска. Так что было приятно видеть, что это структурировано так же, как я структурировал свой выбор.:-)
Но, похоже, он ищет вас в контактах, а не в списке друзей.
Таким образом, этот новый скрипт использует поиск имен контактов, который содержит любой текст, который вы вводите. И так же, как реальная доля. Нет никакой гарантии, что номер или адрес электронной почты будут связаны с iMessages.
Также обратите внимание, что я собрал это все за несколько минут. Так что не так аккуратно, как могло бы быть. но это дает вам возможность поиграть.
on run {input, parameters}
set buddieList to {}
set splitter to "======"
tell application "Messages"
activate
display dialog "Name Contains.." default answer "" buttons {"Cancel", "OK"} default button 2
copy the result as list to {text_returned, button_pressed}
end tell
tell application "Contacts"
set buddies to people whose name contains text_returned
repeat with a from 1 to number of items in buddies
set this_name to name of item a of buddies
set this_email to email of item a of buddies
set this_phone to phone of item a of buddies
repeat with e from 1 to number of items in this_email
set this_email_item to item e of this_email
if this_email_item is not {} then
copy (this_name) & splitter & value of this_email_item as string to end of buddieList
end if
end repeat
repeat with e from 1 to number of items in this_phone
set this_iphone_item to item e of this_phone
if this_iphone_item is not {} then
copy (this_name) & splitter & value of this_iphone_item as string to end of buddieList
end if
end repeat
end repeat
end tell
tell application "Messages" to set text_returned to item 1 of (choose from list buddieList with prompt "TO:" without multiple selections allowed and empty selection allowed)
set inputAlias to item 1 of input as alias
set theBuddy to (do shell script "echo " & quoted form of text_returned & " | awk -F" & splitter & " '{print $2}'")
tell application "Messages"
try
set findBuddy to first buddy whose handle is theBuddy
send inputAlias to findBuddy
on error
display dialog "NO BUDDY Found with " & theBuddy
end try
end tell
end run
Он предназначен для включения в действие Run Applescript в Automator. Как услуга. Скопируйте и вставьте его, заменив весь код по умолчанию.