iCal ไม่เรียกใช้สคริปต์อีกต่อไป?


12

ฉันมีงานอัตโนมัติในรูปแบบของ AppleScripts ซึ่งฉันจะกำหนดให้ทำงานข้ามคืนผ่านเหตุการณ์ iCal เหตุการณ์จะถูกตั้งค่าเป็น "เรียกใช้สคริปต์" ที่ "0 นาทีก่อนกิจกรรม" และฉันจะเลือกสคริปต์ต่างๆเพื่อให้ทำงาน

นับตั้งแต่อัปเกรดเป็น Mountain Lion อย่างไรก็ตาม "run script" ตอนนี้เป็นเพียง "open file" และสคริปต์ไม่ทำงานพวกเขาเพิ่งเปิดใน AppleScript Editor

ฉันพยายามรวบรวมสคริปต์เป็นแอปพลิเคชันเพื่อดูว่าฉันสามารถเลือกสคริปต์ที่จะเปิดแทนได้หรือไม่ แต่ก็ไม่สามารถเลือกได้จากเหตุการณ์ (เป็นสีเทา)

  1. ฉันจะทำให้ปฏิทินทำงานสคริปต์ของฉันได้อย่างไร
  2. ในทางกลับกันมีวิธีที่ดีกว่าในการกำหนดตารางสคริปต์ให้ทำงานหรือไม่

คำตอบ:


10

ฉันเขียนคำตอบสำหรับคำถามเกี่ยวกับการจัดตารางเวลางานที่สามารถแก้ปัญหาบางอย่างให้คุณได้ ซึ่งส่วนใหญ่เป็นครั้งเดียวแม้ว่าจะต่อเนื่อง

หากคุณมีงานต่อเนื่องเช่นเดียวกับที่คุณจะกำหนดเวลาผ่าน iCal launchdก็จะทำงานได้ดีเช่นกัน

แต่ถ้าคุณต้องการแทนที่สิ่งที่คล้ายกับสิ่งที่คุณทำกับ iCal / ปฏิทินทันทีดูเหมือนว่าการเขียนที่ยอดเยี่ยมบนกระดานสนทนาของ Apple อธิบายโดยใช้ 'ปฏิทินเตือนภัย ' ของ Automator ผู้ใช้คนหนึ่งบอกว่าวิธีการใหม่นี้ใช้งานง่ายยิ่งขึ้น ฉันคิดว่าด้วยพลังพิเศษของ Automator มันเป็นการเพิ่มพลังใหม่

จากไซต์นั้น:

นี่เป็นวิธีแก้ปัญหาที่เหมาะกับฉัน:

  1. ใน Automator ให้สร้าง Calendar Alarm
  2. เลือกยูทิลิตี้จากบานหน้าต่างห้องสมุด
  3. เลือก & ลากเรียกใช้ AppleScript ลงในพื้นที่เวิร์กโฟลว์
  4. คัดลอก / วาง AppleScript ลงในกล่องเรียกใช้ AppleScript
  5. บันทึก Alarm Alarm ที่สร้างใหม่
  6. เปิด Calendar.app สร้างกิจกรรมใหม่
  7. เลือกปฏิทิน Automator เป็นปฏิทินอ้างอิงของคุณ
  8. เลือก Open File สำหรับการแจ้งเตือนและเลือกไฟล์ที่คุณสร้างใน Automator โดยค่าเริ่มต้น iCal เป็นไฟล์ที่เกิดขึ้นเมื่อคุณเลือก Open File
  9. เปลี่ยนเป็นชื่อของแอพ Automator ที่คุณสร้างขึ้น
  10. เลือกอื่น ๆ หากชื่อไฟล์ไม่ปรากฏขึ้น

ป้อนคำอธิบายรูปภาพที่นี่

ผู้ใช้แนบภาพหน้าจอกับโพสต์ของพวกเขาด้วยเช่นกัน แต่ฉันได้รวมภาพหน้าจอของสิ่งที่ต้องเลือกใน Automator


1
มันดูดีมาก! มันจะได้รับการทดสอบกับงานของฉันคืนนี้ แต่ดูเหมือนว่ามันจะทำงานได้อย่างยอดเยี่ยม หมายเหตุที่น่าสนใจอย่างหนึ่งเกี่ยวกับขั้นตอนที่สรุปไว้ดูเหมือนว่ามีการอัปเดตพวกเขา (อาจเป็นเรื่องใหม่สำหรับ Mountain Lion ฉันไม่รู้) เมื่อบันทึก "ไฟล์" ใน Automator จะไม่มีตัวเลือกให้บันทึกเป็นไฟล์ในที่อื่น (แอปเปิ้ลดันที่จะย้ายออกจากระบบไฟล์ไม่ต้องสงสัยเลย) มันเพิ่งจะบันทึกด้วยชื่อและที่มัน และทันทีที่มีการบันทึกปฏิทินจะได้รับการเน้นด้วยกิจกรรมที่สร้างขึ้นโดยอัตโนมัติ ฉันแค่ต้องปรับเวลาและตั้งค่าซ้ำสำหรับเหตุการณ์
เดวิด

4

ปรากฏว่า Apple ไม่ได้ใช้งานฟังก์ชั่น "Run Script" จาก iCal ไปยัง Calendar ใน Mac OS X 10.8 หรือที่รู้จักกันว่า Mountain Lion

คุณสามารถกำหนดเวลาให้แอปพลิเคชันทำงานบน Mac OS X ได้หลายวิธี

เครื่องมือการตั้งเวลาในตัว

วิธีการตั้งเวลาในตัวที่ต้องการคือการใช้launchd (launch daemon) หากต้องการใช้launchdคุณสร้างตั๋วงาน launchdและวางไว้ใน~/Library/LaunchAgents/โฟลเดอร์

cronพร้อมใช้งานบน Mac OS X แต่ไม่แนะนำอีกต่อไป อย่างไรก็ตามมีกำหนดการจำนวนมากเกินกว่าจะแสดงด้วยcronและไม่launchdแสดง

เอกสารการเปิดตัวของ Apple เป็นจุดเริ่มต้นที่ดี

เครื่องมือการตั้งเวลาของบุคคลที่สาม

ถ้าคุณต้องการอินเทอร์เฟซแบบกราฟิกหรือฟังก์ชันเพิ่มเติมมีแอปพลิเคชันของบุคคลที่สามที่พร้อมใช้งาน บริษัท ของฉันพัฒนาจัดการการใช้พลังงาน ; โซลูชันอื่น ๆ ก็มีอยู่เช่นกัน


คุณสามารถแสดง cron เหมือนตารางกับ launchd โดยเพียงแค่การเพิ่มพจนานุกรม StartCalendarInterval พอ
Lri

1
ภาษาที่กำหนดเวลาของ cron นั้นยอดเยี่ยมและทรงพลังมาก สิ่งที่น่าเศร้าที่ให้พลังแบบเดียวกันนั้นยากที่จะทำนายได้อย่างแม่นยำโดยไม่ต้องระบุและทดสอบในแต่ละนาที นี่เป็นเหตุผลหนึ่งที่ cron ไม่แนะนำให้ใช้อีกต่อไป launchd สามารถกำหนดเวลางานโดยไม่จำเป็นต้องสำรวจความคิดเห็น
เกรแฮมมิลน์

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.