Wednesday, November 25, 2009

Playing around with Cycript

The following hooks in to SpringBoard: if there is an incoming call, it will answer it.


#!/usr/bin/cycript -p SpringBoard
var tm = [SBTelephonyManager sharedTelephonyManager]
if(tm.incomingCallExists) {
[tm answerIncomingCall]
}


Eventually I'd like to set up a whitelist/blacklist app that uses speech synthesis (see http://code.google.com/p/iphone-tweaks/ for an example) to read out caller ID information.

In the very near term, I'd like to simply auto-answer calls from my Google voice number.

Tuesday, August 19, 2008

Better iPhone Tethering

Now that slirp is available (check Cydia) for firmware 2.0+, the following article will be useful to anyone trying to tether:

http://www.nsgn.net/better_iphone_tethering/overview.htm

More reliable than even the short-lived NetShare, this method will also allow you to use applications that don't understand how to proxy their traffic --- this isn't a major issue on Linux/OSX, as wrapper applications (such as CorkScrew) are available, but on Windows it's a non-trivial problem.

Watch this post for a simpler, securer, more automatic method: it looks like we can get it down to one click on the iPhone side, and two clicks on the PC side, with nothing but scripts installed. The goal is no drivers, no configuration of other apps, no unsetting your proxy when you're done.

Removing vWallpaper

Some vWallpapers for the iPhone can cause Winterboard to lock up or otherwise become unusable.

For this (and other) reasons, set BossPrefs as your double-tap-home application! You can do this from the "More" section of BossPrefs.

If you have this issue, and SSH enabled, you're still in luck. Removing the offending packages will restore your iPhone to working order. Cydia is simply a graphical front end for the APT tools: if you know the name of the package you need to remove, simply ssh in as root* and run:
apt-get remove <package name>
However, the package name is different from the friendly package name. Here's a few examples:

com.touchrev.dramaticchipmunk - Dramatic Chipmunk
com.stephen.surprisetheme - Surprise
com.touchrev.afroninja - Afro Ninja

To recap, you can remove Dramatic Chipmunk via SSH by executing:
apt-get remove com.touchrev.dramaticchipmunk
What if the application you're trying to remove isn't listed here? To discover package names by searching descriptions, try:
apt-cache search <keyword>
Searching for Surprise might look like this:
localhost:~ root# apt-cache search surprise
com.stephen.surprisetheme - A theme showing off some of WinterBoard's powerful new features. The result is both stunning and beautiful.

*Installing and removing packages can only be done as root.