iCal은 더 이상 스크립트를 실행하지 않습니까?


12

iCal 이벤트를 통해 밤새 실행되도록 예정된 AppleScript 형식의 자동화 된 작업이 있습니다. 이벤트는 "이벤트 전 0 분"에 "스크립트 실행"으로 설정되어 있으며 실행할 다양한 스크립트를 선택합니다.

그러나 Mountain Lion으로 업그레이드 한 이후 "스크립트 실행"은 이제 "파일 열기"이고 스크립트는 실행되지 않으며 AppleScript 편집기에서만 열립니다.

스크립트를 응용 프로그램으로 컴파일하여 대신 열 스크립트를 선택할 수 있는지 확인했지만 이벤트에서 선택할 수는 없습니다 (회색으로 표시됨).

  1. 캘린더에서 스크립트를 실행하려면 어떻게해야합니까?
  2. 반대로, 스크립트 실행을 예약하는 더 좋은 방법이 있습니까?

답변:


10

나는 당신을 위해 몇 가지 문제를 해결할 수있는 작업 예약에 관한 질문에 대한 답변을 썼습니다 . 그것은 대부분 한 번 쉬는 시간 이었지만 계속되었습니다.

iCal을 통해 예약 한 것과 같이 진행중인 작업이있는 경우 launchd에도 잘 작동합니다.

그러나 iCal / Calendar로 수행 한 것과 비슷한 것을 완전히 대체하려는 경우 , Apple Discussions 보드 의이 훌륭한 글이 Automator의 'Calendar Alarm '을 사용하여 설명하는 것처럼 들립니다 . 한 사용자는이 새로운 방식이 훨씬 사용하기 쉽다고 말했습니다. 나는 개인적으로 Automator의 추가 기능으로 생각하며 새로운 힘을 추가합니다.

해당 사이트에서 :

나를 위해 일하는 해결책은 다음과 같습니다.

  1. Automator에서 캘린더 알람을 만듭니다.
  2. 라이브러리 창에서 유틸리티를 선택하십시오.
  3. 워크 플로 영역으로 AppleScript 실행을 선택하고 드래그하십시오.
  4. AppleScript를 Run AppleScript 상자에 복사 / 붙여 넣기
  5. 새로 생성 된 캘린더 알람 저장
  6. Calendar.app를 열고 새로운 이벤트를 만듭니다.
  7. 참조 캘린더로 Automator 캘린더를 선택하십시오.
  8. 경보에 대해 파일 열기를 선택하고 Automator에서 작성한 파일을 선택하십시오. 기본적으로 iCal은 파일 열기를 선택할 때 나타나는 파일입니다.
  9. 생성 한 Automator 앱의 이름으로 변경하십시오.
  10. 파일 이름이 표시되지 않으면 기타를 선택하십시오.

여기에 이미지 설명을 입력하십시오

사용자는 게시물에 일부 스크린 샷을 첨부했지만 Automator에서 선택해야 할 스크린 샷을 포함 시켰습니다.


1
멋지다! 오늘 밤 내 작업으로 테스트 할 것이지만 훌륭하게 작동하는 것처럼 보입니다. 단계에 대한 흥미로운 메모 중 하나는 업데이트 된 것 같습니다 (아마도 Mountain Lion에 새로운 것일 수도 있습니다). Automator에서 "파일"을 저장할 때 실제로 파일을 어딘가에 파일로 저장할 수있는 옵션이 없습니다. (애플은 파일 시스템에서 멀어 지도록 밀어 붙인다. 의심 할 여지가 없다.) 그냥 이름 만 저장하면된다. 그리고 저장 되 자마자 Calendar는 자동으로 생성 된 이벤트에 집중합니다. 방금 시간을 조정하고 이벤트의 반복을 설정해야했습니다.
David

4

Apple은 Mac OS X 10.8 (일명 Mountain Lion)의 iCal에서 Calendar까지 "스크립트 실행"기능을 수행하지 않은 것으로 보입니다.

여러 가지 방법으로 응용 프로그램이 Mac OS X에서 실행되도록 예약 할 수 있습니다.

내장 된 스케줄링 도구

기본 제공 스케줄링 방법은 launchd (시작 데몬) 를 사용 하는 것 입니다. 사용하려면 launchd사용자가 만든 launchd에 작업 티켓을 과에 배치 ~/Library/LaunchAgents/폴더에 있습니다.

cronMac OS X에서 사용할 수 있지만 더 이상 권장하지 않습니다. 그러나으로 표현 될 수있는 것보다 많은 스케줄이있다 cron가 아니라이 launchd.

Apple이 출시 한 문서 는 시작하기에 좋은 곳입니다.

타사 스케줄링 도구

그래픽 인터페이스 또는 더 많은 기능을 원하면 타사 응용 프로그램을 사용할 수 있습니다. 우리 회사는 Power Manager를 개발합니다 . 다른 솔루션도 존재합니다.


충분한 StartCalendarInterval 사전을 추가하여 시작된 cron과 같은 스케줄을 나타낼 수 있습니다 .
Lri

1
cron의 스케줄링 언어는 믿을 수 없을만큼 강력합니다. 슬프게도 같은 힘을 제공하는 것은 매분마다 열거하고 테스트하지 않고 정확하게 예측하기가 어렵습니다. 이것이 cron이 더 이상 권장되지 않는 한 가지 이유입니다. 폴링이 필요합니다. launchd는 폴링하지 않고도 작업을 예약 할 수 있습니다.
Graham Miln

0

jmlumpkin의 대답은 현장에 있지만 더 쉽게 만들 수 있습니다. 블로그 게시물 에서 설명한 것처럼 스크립트를 복사하여 사용자가 만든 새 워크 플로에 붙여 넣을 필요가 없습니다. 대신 워크 플로우 내부에서 원래 AppleScript를 호출 할 수 있습니다.

on run {input, parameters}

    run script file "Macintosh HD:Some Directory On Disk:a cool script.applescript"

end run
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.