Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

AMG

macrumors newbie
Original poster
Jul 5, 2008
19
0
Hi :)

I am wondering if there is a utility/tool out there for setting an app (skype, GV Mobile...etc.) to load as a default app (example: phone.app).

Thanks, AMG
 
With backgrounder I have to load the app myself every time I reboot or respring the phone in order for it to be backgrounded. As you may know, sometimes the iPhone respring itself when it needs so. I want the process to be fully automated sorta like the phone.app which is loaded automatically every time the phone is rebooted or respringed and stays in the background.
 
Backgrounder has a setting where you can enable specific apps to always stay backgrounded. Open Backgrounder, tap App-Specific, tap Always-enabled, pick the apps you want to always be backgrounded.
 
Backgrounder has a setting where you can enable specific apps to always stay backgrounded. Open Backgrounder, tap App-Specific, tap Always-enabled, pick the apps you want to always be backgrounded.

That only automatically backgrounds apps which you have already manually opened. The OP wants this app to open automatically on boot.
 
With backgrounder I have to load the app myself every time I reboot or respring the phone in order for it to be backgrounded. As you may know, sometimes the iPhone respring itself when it needs so. I want the process to be fully automated sorta like the phone.app which is loaded automatically every time the phone is rebooted or respringed and stays in the background.

Interesting, I dont think there is one.
Backgrounder will come close but like you said you gotta manually set it up each time.
 
This may be deeper than you want to work but you can use launchd to automatically load things on boot. You just need to write a simple plist to load it. I don't know how well it would work trying to open more than one graphical app at the same time though, seems like it's asking for trouble.

If I were going to do it, I would time their opening and write a script to execute at boot that loaded them into launchd one by one. The script would be simple like: sleep X seconds (to allow springboard to start); launchctl load app1; sleep 10 (to allow app1 time to return a successful open code); launchctl load app2 ... etc

Sorry if that's too much. I'm just brainstorming.
 
That only automatically backgrounds apps which you have already manually opened. The OP wants this app to open automatically on boot.

That's exactly what I want.

This may be deeper than you want to work but you can use launchd to automatically load things on boot. You just need to write a simple plist to load it. I don't know how well it would work trying to open more than one graphical app at the same time though, seems like it's asking for trouble.

If I were going to do it, I would time their opening and write a script to execute at boot that loaded them into launchd one by one. The script would be simple like: sleep X seconds (to allow springboard to start); launchctl load app1; sleep 10 (to allow app1 time to return a successful open code); launchctl load app2 ... etc

Sorry if that's too much. I'm just brainstorming.

Thanks for the suggestion. Unfortunately I am not a programmer. I SSHd to my phone last night trying to find something in MobilePhone.app to replicate its behavior of being loaded on boot; I couldn't find something that helps. The closest I found is in here http://www.hackint0sh.org/f126/31658.htm
 
I have created the following .plist file and placed it in /System/Library/LaunchDaemons/ and rebooted my phone. It didn't work; skype does not load on boot. Is there something wrong in the code?

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.skype.skype</string>
<key>Program</key>
<string>/private/var/mobile/Applications/194BDC50-8DA1-4BA9-8258-E84D9DEC09BD/Skype.app/</string>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>mobile</string>
</dict>
</plist>
 
/private/var/mobile/Applications/194BDC50-8DA1-4BA9-8258-E84D9DEC09BD/Skype.app/ only points to the directory, it needs to point to the executable in that directory. It's probably called Skype, but I don't have it to check.

I am just guessing here, but this will probably try to launch it during boot before SpringBoard opens, which is too early. If it doesn't open, it may keep trying and eventually get it open after SpringBoard is running. I dunno.

I've never tried this, but if it doesn't work, I would probably try changing it from run at load, to on demand, then call it from a script. You could have launchd run this script at boot:

Code:
#! /bin/sh
sleep 30s
launchctl load YourSkypePlist
exit 0

That would sleep for 30 seconds to give SpringBoard time to open, then load Skype using the launchd plist you created for it. The script would also need it's own plist.

Another way would be to run the script manually by tapping an icon on SpringBoard. There are generic instructions for doing that on my blog. It would not need a launchd plist, but would need a fake app directory and a different plist in there (I hate apple's plist crap) as explained on my blog. It would be a simpler script:
Code:
#! /bin/sh
launchctl load YourSkypePlist

If you're new to scripts, save them as a text file then make them executable with iFile or by typing chmod +x NameOfScript in a terminal.

Again, I've never tried this and have no idea if it'll work.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.