In fact, I read the following document:
I don't quite understand it, anyone knows how to do?
and also, what does this mean:
is there any example about how to use LSRegisterURL and SMLoginItemSetEnabled?
In fact, I read the following document:
I don't quite understand it, anyone knows how to do?
and also, what does this mean:
is there any example about how to use LSRegisterURL and SMLoginItemSetEnabled?
Basically you have to take a look at
Launch Services
which is just a wrapper aroundlaunchd
, which you can check out by looking atman launchd
in the terminal.or take a look at this question here at SO How do you make your App open at login?
Note that the Helper must be packaged with the main app in the "Contents/Library/LoginItems" directory. You will need to create it during the build and copy the helper there.
I've never used
LSRegisterURL
, I can answer the first question: to set theLSUIElement
bit you just simply open the .plist and add the row "Application is agent (UIElement)", then set the value to TRUE.I found a handy link:
http://www.delitestudio.com/2011/10/25/start-dockless-apps-at-login-with-app-sandbox-enabled/
EDIT: sadly this link no longer works. Perhaps someone could suggest a better alternative...
It's a good tutorial for doing registering a Login Item in a Sandboxed environment if that's of use (and we'll all need to eventually!). The important thing is that, annoyingly, you have to copy your built, main app to the Applications folder and don't do what I do which is forget to sandbox the helper-app and add a
Application is agent (UIElement)
row to the helper's plist withTRUE
for the value.NSLog
and Console is your old-fashioned debugging friend now....just have to figure out how to get the helper app to launch the main app when they're both sandboxed..... Edit: Found this question: Cocoa: Sandbox entitlement to launch another application