For all of you guys with Applications that crash, bug, quit to Springboard, freeze, don't save files, etc etc...
There is a simple solution to debug and see what's going on.
First, turn off the Auto-Lock feature in Settings > General > Auto-Lock.
Second, you must Install OpenSSH in your Phone (if not already installed by a Jailbreak application).
OpenSSH requires BSD Subsystem.
Open a SSH session from your computer to your phone.
You can use:
- Putty > ssh client for Windows available at putty.org
- Terminal > for OS X, already installed in /Applications/Utilities/Terminal.
Connect to your phone:
x.x.x.x has to be changed to your iPhone IP Address.Quote:
ssh -l root x.x.x.x
To know your iPhone IP, go to Settings > Wifi > click the blue arrow where your phone is connected to.
If you see a message like this just type yes and press ENTER
Then you'll be asked to enter a password. Simply type alpine and press ENTERQuote:
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?
Now you are connected in SSH.
Since 1.1.3, all the Apps are executed as mobile user from Springboard and because we are logged as root in the SSH session, we need to switch to mobile user.
Type this command and press ENTER.
You'll notice in the SSH session window, the # will change to $.Quote:
# = root
$ = mobile
To exit the mobile level simply type exit and press ENTER.
It will go back to the root level.
Now if you want to execute any app you must know its exact name (Case Sensitive).
You can use the "TAB" key to auto-complete the path/name.
For example, if you type:
and press TAB. It will complete toQuote:
Type the following command:Quote:
X must be changed to the first letter of your app name.Quote:
All the applications name starts with a Capital Letter.
When you press tab, if you have several apps starting with the same letter, you'll be proposed several choices. Just complete the entry by the app name you want to execute and press ENTER. (don't forget the .app/ at the end of the name)
Now that you are in the application's package, you must execute its binary.
type this command and press ENTER:
Xxxxxxx must be changed to the same name of your application package name except you don't need to add .app/ at the end.Quote:
Your app is now started and you should see several lines right after the last command you typed.
You can copy/paste them in your thread to let people help you.
Use CTRL + C keys to quit the application you started.
Most of the time the report messages are obvious enough to understand the source of the problem.
Since i'm checking every time i install/upgrade a 3rd party application, my phone never crash/freeze/hang or behave abnormally. I just don't keep apps that will report problems that can't be solved. :)