How do I run an app using launchd at regular intervals? I have an app which is written in AppleScripting language which checks if the S.M.A.R.T. status is 'Verified' if it is not then it will automatically show me a dialog alert. But I need it to run every 30 minutes. I used cron before but it never works with .app extension. So how can I accomplish running the app at regular intervals using launchd?
Use oascript to call your ApplesScript.

$ oascript foobar.applescript


In your plist your ProgramArguments definition to launch the app would be as follows:

&lt;key&gt;ProgramArguments&lt;/key&gt;
    &lt;array&gt;
        &lt;string&gt;osascript&lt;/string&gt;
        &lt;string&gt;foobar.applescript&lt;/string&gt;
    &lt;/array&gt;




To get your item to run, you need a StartInterval definition which takes an integer for the number of seconds (1800 for 30 mins) between runs.  

&lt;key&gt;StartInterval&lt;/key&gt;
&lt;integer&gt;1800&lt;/integer&gt;




A simple but functional plist would look as follows:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
    &lt;key&gt;Label&lt;/key&gt;
    &lt;string&gt;com.user.foobar.app&lt;/string&gt;
   &lt;key&gt;ProgramArguments&lt;/key&gt;
    &lt;array&gt;
        &lt;string&gt;osascript&lt;/string&gt;
        &lt;string&gt;foobar.applescript&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;StartInterval&lt;/key&gt;
    &lt;integer&gt;1800&lt;/integer&gt;

&lt;/dict&gt;
&lt;/plist&gt;