자동 실행되는 “스크립트”응용 프로그램에 의존하는 애플 스크립트가 있습니다. 도크가 여전히 실행중인 것으로 표시하더라도 “연락처”프로세스가 활동 모니터에서 신비하게 사라지면 실패하는 경우가 있습니다.
다음은 작동하지 않습니다.
- Applescript “응용 프로그램”연락처 “활성화
- Applescript “응용 프로그램”연락처 “종료 (둘 다”응용 프로그램이 실행되지 않음 “으로 응답)
- Applescript “do shell script killall launchserviced”다음에 “killall dock”이 실행되지만 문제가 해결되지 않습니다
유일한 해결책은 도크에서 “연락처”를 수동으로 종료 한 다음 다시 활성화하는 것입니다. 그러나이 솔루션은 수동 개입이 필요하기 때문에 만족스럽지 않습니다. a) 오류가 발생하는 이유와 b) applescript에서 “주소록”을 질문하여 오류를 어떻게 처리 할 수 있습니까?
모든 아이디어를 부탁드립니다
….
bmike의 의견에 대한 답변;
OS X 10.10.5를 실행하면 여기에 애플 스크립트의 관련 섹션이 있습니다.
오늘 날짜를 텍스트로 (현재 날짜)로 설정
* 응용 프로그램 “시스템 이벤트”
try
set myprocessid to (get id of process "Contacts")
on error number errorno
display dialog errorno
if errorno is equal to -1728 then -- process not found
try
tell application "System Events" to run application "Contacts"
on error number errorno
if errorno = -600 then
display dialog errorno & todaysdate as text
end if
end try
do shell script "/bin/sleep 3" --and allow enough time for the app to activate
end if
end try
말하다
이 섹션은 프로세스가 실행 중이 아닌 것을 발견하면 “연락처”활성화를 시도합니다 (오류 -1728). 그런 다음 앱을 실행하려고 시도하지만 항상 -600 (앱이 실행되지 않음)으로 오류가 발생합니다. 응용 프로그램을 종료하는 간단한 애플 스크립트도 -600으로 오류가 발생합니다.
따라서 프로세스가 누락되면 앱을 활성화 할 수없고 종료도 작동하지 않습니다.
귀하의 의견에 감사드립니다
답변
나는 마침내 이것을 극복 할 수있는 방법을 찾은 것 같았다. 다소 조잡하지만 나를 위해 일했습니다.
errorno = -600 인 경우 응용 프로그램에 “시스템 이벤트”에 프로세스 “Dock”을 알리십시오. 목록의 UI 요소 “연락처”를 클릭하십시오. “process”Contacts “에게 visible을 false로 설정하십시오.
도크를 클릭하면 프로세스가 프로세스 목록에 다시 나타난 다음 앱을 종료하거나 다시 시작할 수 있습니다. 기묘한.