Say what you will, but iPhones are pretty awesome, and so are the headsets that come with them. At least up until you put them in your ears. The inline controls are awesome, but the speakers are uncomfortable, lacking in low end punch, and do nothing for sound isolation. Other, much better headphones exist, but for under a gajillion dollars, none come with the same kind of inline controls. Here’s how to have the best of both worlds.
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.
I’ve been playing with the TI LaunchPad the last day or two since I’ve been home in the US. I ordered two when they launched, but I was abroad and only just started playing with them, and I have some first impressions to share.
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.
So maybe this is the dumbest, easiest thing in the world and I’m the only one who didn’t know, but when I upgraded to the iPhone OS 3.0 SDK, I couldn’t for the life of me get the simulator to launch in ACTUAL OS 3.0 mode. You can change the version on the fly with the Hardware>Version menu, but every time I reran my app from Xcode, it’d revert back to 2.2.1. This finally became a problem when I needed to test an app with features unique to 3.0. Luckily, the fix isn’t all that hard.