iphone_tv_outHere we are again with a typical problem when using an iPhone or an iPod Touch: you have built a nice app with XCode and would like to show it to everyone during a presentation. Unfortunately you don’t have the magic “Steve Job” cable that will allow you to show to the whole audience what you are currently doing on your iPod Touch.

Only the Video app allows a direct video output onto the cable. This is so frustrating! But fortunately here is a solution. This solution is based on jailbreaking your device and installing a special app that will over a private Apple API output the screen buffer directly onto the cable. It’s really worth trying it out and will give your presentation a new dimension, because not so many people are using this technique.

Update: This tutorial is outdated, but for documentation purposes I leave it here. As of 2013 Airplay over AppleTV solves the problem and enables a direct 1:1 clone of iOS screen onto a television over HDMI or VGA.

 

What you need :

– iPod Touch 2.2 Firmware (device used for video output)

– iPhone with 2.2.1 with valid provisioning file

– official iPhone SDK and XCode

– Apple iPod TV out cable (use the official one, there’s a chip in it)

Note: we need two iOS devices in order to trick Xcode and let him generate the correct .app onto your harddrive.

First step : Backup your data !

We are now going to jailbreak the iPod Touch :

Please note that the Mac Version of QuickPwn is buggy so take the Windows one and jailbreak your iPod Touch under Windows. It’ easier and

faster 😉

http://quickpwn2-2-1.googlecode.com/files/QuickPwn-225-2.zip

Follow the instructions on the screen and plug your iPod Touch with the USB Cable: after 5 minutes your iPod Touch is jailbroken

You will find two icons “Installer” and “Cydia”. Click on “Cydia” and look in search for the package called « ScreenSplitr »

Note: Using and installing « TVOut » and « Screensplitr » may lead to wrong signal over the cable. So delete one of the two if you want to have a correct TV out signal.

Make also sure to install SSH over Cydia so you will be able to access your iPod Touch after the manipulation.

 

Launching XCode

Open the XCode Project you would like to use with your iPod Touch. Now the tricky part: the problem is that your iPod Touch was hacked and won’t allow you to install or to debug any apps over XCode. The file system was modified and Xcode will tell you that you it cannot mount the Developer Disk Image :

The Developer Disk Image could not be mounted. Xcode could not find an appropriate Developer Disk Image to mount on iPod. Please contact Apple for the 2.2.1 (5H11) device support package.

Now unplug your iPod and replace it with your registered iPhone 😉

Note: your iPhone doesn’t need to be jailbroken !

Select « Device – 2.2 | Release » Click on « Build and Go » : your

application will be compiled and shown on your iPhone.

What also happened is that on your hard drive, a directory named

/build/Release-iphoneos

was created. In this directory you will also find the YourApplication.app file that will be needed in the next step. Without this trick you wouldn’t have been able to compile the application for your iPod Touch. Nothing complicated but kinda tricky.

 

Installing the App and using TV Splitter

Assuming that your iPod Touch is connected over WLan you can make a SSH on it.

The password and the username of the default SSH connection can easily be found on Google.

Once connected to your iPod Touch place your YourApplication.app file in the

/Applications

directory.

Restart Springboard or restart your iPod so that the application’s icon will be displayed on the Springboard.

Plug the Apple–TV out Cable in your television and launch TVSplitter : have fun !

Note: don’t expect full FPS on the TV output. As each frame is copied (a loop is constantly making a screenshot in the background) the CPU usage is getting higher over the time: 3D games have a real lag turning them unplayable , but “classical” Apps (Button, Navigation-based) are nicely working.