Developing for a Jailbroken iPhone A to Z (iOS 4.0.1)

Jailbreak Development for iOS4!

Vital Stats:
iOS 4.0.1
Xcode 3.2.3
Mac OSX 10.6.4 Snow Leopard
iPhones 3G, 3GS, 4 (I finally have the whole lineup!)

PROBLEM: I still can’t get iPhone 4 working. If you have one, please try it and help me out! UPDATE: Found the cause of the problem to be certain status bar libraries installed alongside other apps. I’m not sure why they cause the problem, but see full notes at the bottom of the post.

The Goal: As usual, we want to be able to click “build and go” in Xcode and get the app we’re working on to load to the phone and start up. Also, we want to be able to debug from within Xcode itself. After all, Xcode is cool, and terminal+makefiles+gcc+gdb is lame. Continue reading

Developing for a Jailbroken iPhone A to Z (iPhone 3.1.2)

Debugging on device. Freaking finally.

Debugging on device. Freaking finally.

UPDATE: There’s a new method for iOS4 but they’re pretty similar anyway.

So it’s been a while, but now that I’m on break again and have some time, I’m doing a bit of iPhone development again. That means I’m going to need to debug on-device (or at least load my app to it to have fun in the real world with my handiwork). This time, the procedure’s a little different though.

Vital stats:
iPhone OS 3.1.2
Xcode version 3.2.1, 64 bit
Mac OSX 10.6.2 Snow Leopard

Let’s do it.

UPDATE: Corrected a problem with the run script build phase: corrected the directory names for the new version and copied the new phase that doesn’t include “resource_rules.plist.”

UPDATE 2: Somehow I forgot the add an identity step. It’s now #1 below. Sorry guys. Also, while this whole thing should apply to iPhoneOS 4, I’m going to officially text it/repost with 4.01 soon.

Continue reading

Gizmodo is dumb – ATT Visual Voicemail Fix

#gizmodofail

#gizmodofail

If you have an iPhone and have not had visual voicemail for weeks, it’s actually your fault, even if you didn’t know it. When you downloaded that little file to enable tethering, the maker actually messed up. The file from gizmodo had the Visual Voicemail APN set to wap.cingular, which is incorrect. It should be acds.voicemail. The fix is easy: go to settings>general>network>cellular data network and edit the Visual Voicemail APN as above to read acds.voicemail. Restart your phone and everything will work again.

NOTE: The fix above only works if you’re jailbroken and you have the package “APN Editing” installed. I think you can also expose this menu with unlockit.co.nz (but be careful, the normal profile they use for ATT US carrier, mms/tethering enabled has the wrong APN for vvm, reset it as above). I’m trying to modify the carrier profile from gizmodo to correct the issue in the first place.

Fix via http://www.everythingicafe.com/forum/iphone-software/updated-carrier-file-3-0-and-visual-voicemail-fix-48389.html

Using the Open Tool Chain in Xcode (for both OS 2.2 and 3.0)

OTC =/= Over the counter, but it WILL cure what ails ya.

OTC =/= Over the counter, but it WILL cure what ails ya.

The iPhone OS SDK from Apple is wonderful, and being able to develop and debug on-device even without paying the entry tax is even more wonderful. To really take Jailbreak development to the next level, though – to develop Apps that don’t play nicely in Apple’s SDK playground – you are going to need the open tool chain. Here’s how to rock Xcode OTC style. Continue reading

iPhone OS 3.0 Gold Masters Relased

Get them while they’re hot! http://www.iphone3g-mods.com/ (coral) has a great list of download links for all the various hardware versions. There are a couple of notes: First, this is intended for developers only. As such, these FW versions lock your phone into “testing mode,” meaning you can’t then downgrade to an old version. Also, this final pre-release is not jailbroken (rather, it probably is, but the JB is as of yet unreleased). So don’t plan to use this on your main device if, like me, you rely on your jailbreak. I’ll probably only install this on my iTouch 1G, and wait for a proper jailbreak following the official release.

The Dread Pirate Errorbinson!

Error Starting Executable: No provisioned iPhone OS device is connected.

Error Starting Executable: No provisioned iPhone OS device is connected.

Ok, lame title, I admit it. That doesn’t change the annoyingness of the error though. Here’s the story: I sit down last night to watch the Oscars and get my feet wet developing for the first time in maybe a month or two. I go to debug an app on the device, you know, to see if I’ve still got it, and lo and behold a big hairy error pops up: Continue reading

My New Favorite App – TwitterFon

TwitterFon Timeline View

TwitterFon Timeline View

Here’s a goodie for all of you who don’t want to jailbreak your phone. Not that I know why you’d want that, and not that anyone like that reads this blog, but hey. it’s totally cool regardless. If you have an iPhone, and you use Twitter, you flat out owe it to yourself to try out TwitterFon (coral). First of all, it’s free. Better than that, it’s open source. Rock on! Second, it’s very well featured, even having a companion bookmarklet for Safari to send the current URL to a new tweet. It can post pictures to TwitPic, as well as update your current Twitter location with your coordinates. More impressive, however, is how it handles the basic functionalities of Twitter. In your main feed, you can click a post on an arrow appearing if it has links, getting a menu of those links (webpages viewable in-app, or you can click a button to open in Safari, # and @ links also clickable in-app). If you click a post on the body, you get a menu specific to that post – you can view the author’s feed/profile, retweet the post, mark it as favorite for later viewing, and so on. Continue reading

How to Find a Bundle Identifier

Success!

Success!

6 days ago: “So Ustream just released their viewer application in time to live stream the innauguration tomorrow at 10AM. The problem is that it only works on a WIFI connection, I’ll assume for now because of ATT no-streaming-video-over-3g restrictions. If that’s possible, never fear, VoIPover3G to the rescue! The only hurdle is figuring out Ustream Player’s bundle identifier to feed to the hack. The whole process, including the less-than-trivial bundle identifier location, is detailed here.” Continue reading

New iPhone Keyboard Interface Library: iKeyEx (And A New Copy/Paste to Boot!)

Turning an area into a copyable field.

Turning an area into a copyable field.

I know I promised a technical article on how to find arbitrary bundle identifiers, but the news moves fast, and I’m already behind the times on this one. There’s a new Copy/Paste mechanism out for the iPhone, hClipboard, but there’s way more to it than that, and a LOT of new possibilities come with it. Most people have been reporting on how cool hClipboard is, and it’s no lie that it’s super cool, but even cooler is the work that went into its backend. Over at networkpx (coral), KennyTM has been hard at work cracking the entire keyboard system of the iPhone WIDE open. Basically, the kingpin of the system is iKeyEx, which is a library based on mobilesubstrate to write new keyboards or keyboard extensions for the phone. It essentially allows developers to produce new keyboards that can be turned on and off in the normal keyboard settings of settings.app. Continue reading