What would a Mac OS X Application Info.plist file look like? I only need the bare minimum, so that I have:
Launches an executable
Has an icon
Thanks!
This is the real, bare minimum:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>ExecutableFileName</string>
<key>CFBundleIconFile</key>
<string>AppIcon</string>
</dict>
</plist>
It is recommended to include a CFBundleIdentifier key also. This way the system can identify your application. I really recommend you include it.
You can find more keys in the Information Property List Key Reference.
Related
I have a USB which was in a MAC in 2016 so has all the spotlight info. Looking at the VolumeConfig.plist file it shows:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>5D80A665-E806-4A2C-949C-FE0DED790BC2</key>
<dict>
<key>partialPath</key>
<string></string>
<key>policySearch</key>
<integer>3</integer>
</dict>```` etc
The code that's in the key tags is the exact format of a Mac Hardware ID and I was wondering whether this acually is the HardwareID of the Mac PC that used it? I know there was a CVE about spotlight that was patched in 2017
This is my crontab
It´s supposed that my script on R saves csv on my directory.
write.csv(raw_data, paste0("/Users/marianafernandez/Desktop/prueba/data-raw/database_pulls/raw_data/raw_data_", Sys.Date(), ".csv"), na = "", row.names = F)
If I run on my terminal: R Script scraping.R everything goes fine. But when I try to do my cronjob is not working, nothing happens. Help me please
cron is still supported by OSX but it has been deprecated in launchd.
You need to create a "plist" file and place it in folder ~/Library/LaunchAgents. Example plist file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>example</string>
<key>ProgramArguments</key>
<array>
<string>Rscript /path/to/example.R</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>0</integer>
<key>Hour</key>
<integer>23</integer>
</dict>
</dict>
</plist>
You need to load this plist file into the launchd scheduler and start it:
launchctl load ~/Library/LaunchAgents/example.plist
launchctl start example
Name example corresponds to the field Label in the plist file.
More likely than not you need to put the path TOO the Rscript in front of it path/to/Rscript and it will correct the problem...that worked for me.
When attempting to submit an app to Apple iTunes Connect TestFlight, I get the following error:
ERROR ITMS-90075: "This bundle is invalid. The application-identifier entitlement is missing; it should contain your 10-character Apple Developer ID, followed by a dot, followed by your bundle identifier."
How should this be fixed in my app?
Your Entitlements.plist file should contain the application-identifier key.
The value $(AppIdentifierPrefix)$(CFBundleIdentifier) should resolve the error and give you the correct application-identifier.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
// ...
<key>application-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
// ...
</dict>
</plist>
Like it says on the tin, I've a launch script that is supposed to fire at 1.20 AM but seems to be firing shortly after the user logs in instead. Can anyone see what I've done wrong?
Is is the way I've written the ProgramArguments, reaching within the app's container to launch it? I've not had success launching the (applescript) app any other way i.e. open ~/Library/CDesResources/Shutdown.app didn't seem to work.
The plist is saved in ~/Library/LaunchAgents/shutdownAgent.plist so it should only fire when that user is logged in correct?
Many thanks for your fresh eyes and expertise.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>shutdownAget</string>
<key>Nice</key>
<integer>-20</integer>
<key>ProgramArguments</key>
<array>
<string>/Library/CDesResources/Shutdown.app/Contents/MacOS/applet</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>ServiceDescription</key>
<string>launch the shutdown script</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>1</integer>
<key>Minute</key>
<integer>20</integer>
</dict>
</dict>
</plist>
From the man page for launchd.plist(5):
Unlike cron which skips job invocations when the computer is asleep, launchd will start the job the next time the computer wakes up. If multiple
intervals transpire before the computer is woken, those events will be coalesced into one event upon wake from sleep.
So launchd is correctly noticing at launch that the job didn't run at 01:20 and scheduling it for you.
I am trying to run a command
java -jar ccu-historian.jar
as launch item
When I run the command on the commandline everything is working
When I try to run it as launchAgent via
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.bob.ccuhistorian</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/Users/user/Applications/ccuhistorian/ccu-historian.jar</string>
</array>
</dict>
</plist>
I get the error message that it cannot run
13.11.11 15:15:34 com.bob[1445] 15:15:34|SEVERE |Exception: Can't access configuration file ccu-historian.config
the file is in the same folder and I tried changing via chmod 777 - no change, and it can be read when calling from the command line - what am I doing wrong?
I found a working solution:
writing a bash-script
#!/bin/bash
cd /Users/user/Applications/ccuhistorian/
/usr/bin/java -jar ccu-historian.jar
and calling
/path/to/script.sh
as only parameter to the XML is working, but shouldn't be there a more elegant solution?
This might be an overengeneering.
But you could read the current path of the Jar file and construct the path of the config file from that.
Problem is, you probably access it with a relative path, but the "java -jar /path/to/your/file" is looking for it in a false directory.