iOS Carrier Bundles Demystified

One of my favourite things about the iPhone is that it’s fairly painless to throw another SIM card into your iPhone, and have all of your carriers settings just work (internet, MMS, voicemail, and tethering if your carrier allows it). The way this magic works is that Apple actually has the settings for all of the official iPhone carriers preloaded into iOS. If you throw in a SIM from a supported carrier, the settings are simply loaded and away you go. These are referred to as carrier bundles (or, carrier settings according to Apple).

Carrier settings updates are small files (about 10 kb) that are installed on your iPhone or iPad (Wi-Fi + Cellular models). Carrier settings include updates to Access Point Names (APNs), MMS settings, features such as tethering, and default apps such as Stocks, Maps, and Weather.

 

On your iOS device, they live at

/var/mobile/Library/Carrier Bundles/ – bundles that have been updated with iTunes, or pushed over the air

/System/Library/Carrier Bundles/ – stock bundles that ship with iOS

On your computer side, they can be found at

~/Library/iTunes/iPhone Carrier Support/

If you haven’t ever had iTunes prompt you about a carrier update, this folder probably won’t exist.

Carrier bundles themselves are simply .zip archives, but with a .ipcc extension instead. They’re named after your carrier, and may also say whether they’re for your iPhone or iPad (Telstra_au_iPhone.ipcc)

[Read more…]

Create an ‘iMessage Me’ link

With the launch of iMessage on the Mac earlier this month, we now have what I think to be the perfect IM solution – cross device (not platform, sadly) syncing of message histories – why couldn’t anyone do this earlier?

You may like to add an iMessage Me link to your website/blog to make it easier for people visiting your page from a Mac or iOS device (iPhone, iPad, iPod touch) – just a tap and they’re all set to iMessage you.

For whatever reason, iOS and OS X use different URL schemes for iMessage – I understand why Messages for Mac may not want to adopt the sms:¬†scheme, but I find it odd that iOS doesn’t like the imessage: scheme. So we’re left with two different schemes depending on the platform your visitor is using.

Using some fancy PHP trickery, here’s some code that will detect your visitor’s operating system, and based on that display either a sms: link or an imessage: one.

Throw this inbetween your standard link and you’re good to go.

For example:

Or, put together:

And in action:
iMessage me!

Tapping/clicking on this will bring up the Messages app on either platform with your email address pre-filled. Nifty.

And if you’re not on an iPhone with iOS 5 installed, or some other handset, this should bring up an MMS window with your email address pre-filled too.