If you’ve just jailbroken your iPad I guess you’ve already installed OpenSSH from Cydia, which is that framework that allows you to root into your device using FTP clients like Cyberduck and Transmit.
If so, there’s a little trick you can perform that lets you scale iPhone apps for the iPad, without waiting for the developers to update their apps. In this way, and if you’re lucky, you can have an iPhone app running in fullscreen without pixel doubling, which supports all the various orientations and that even uses iPad’s UI elements.
Disclaimer: We’re not saying that the apps that don’t support this trick are badly developed. No, this is just a tutorial about a trick we’ve discovered and that works with some apps. Not a developer’s fault if an app doesn’t support it.
To do this you’ll need to edit the info.plist file inside an application, so be sure to have an app like Textmate on your Mac to edit .plist files. The iPad stores applications inside /var/mobile/Applications and every app comes in the shape of a folder with a name like this (F1DCF4E2-0D72-4720-BCF1-F914B5208F55) and this means you’ll have to open every folder to see which app is inside. Once you’ve found the app, say Tweetie 2, look for the info.plist file and download it to your computer.
(again, you need to SSH into your device. If you’re on a Mac you can use Cyberduck or Transmit, Windows users can go with WinSCP. Default username and password are “root” and “alpine”)
Now fire up a text editor and add the following strings:
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
If this string
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
is already there, simply add <integer>2</integer> and you’re done. The “2” value tells the applications to run natively on the iPad.
Then save, and replace the old info.plist file in the app’s folder. Respring the iPad, and you’ll have a non-pixelated iPhone app running natively. With some exceptions.
In my tests (Tweetie 2, iStat, Twitterrific, Here File File, Flickit Pro) I’ve been able to run perfectly only Tweetie 2, which scales and works - just take a look at the screenshots. The other apps I’ve tried presented alignment and touch issues, text fields and buttons didn’t work and there were some weird problems with the UI.
I don’t know which criteria an app should meet to be scaled in this way, but if you’ll manage to successfully run some with good results please let us know in the comments.
UPDATE #1
We’ve tested some other applications, here are the results:
- Canabalt: works very good, but landscape mode is forced and you can’t enable portrait mode. Anyway, the game is fully playable and enjoyable in full screen. Huge win.
- Mailroom: displays native UI elements but I haven’t been able to tap on buttons.
- Icebird: loads and redirects to the App Store. Weird.
- Dropbox: works, but has alignment problems. Videos play in fullscreen though.
- Reeder: except for some text formatting issues, Reeder is iPad compatible. It works both in portrait and landscape mode, swipe works, I’ve managed to read all my feeds with it.
UPDATE #2
If you want to mess with orientation methods in the .plist file, try the following strings in the <key>UISupportedInterfaceOrientations~ipad</key> key:
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
UPDATE #3
To make icons compatible:
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon-72.png</string>
</array>
Thanks, Josh.