Archive for June, 2009

Tip: Firmware Downloading

Ever tried to find a particular version of iPhone/iPod firmware on Apple’s servers? Yeah, good luck with that. But courtesy of this iPhoneSDK thread we have a couple of handy places to take care of finding the right one for you:

Handy if you need it!

Continue Reading →
0

Snippet: Data Sharing

Now here’s a snippet which will probably be a surprise to you: How to write a file to be shared between applications from within your sandbox! Yes, we said “from within your sandbox”. No, really, we did.  And simple once you know how, of course — here it is:

BOOL result = [@"malc" writeToFile:@"/private/var/mobile/Media/DCIM/ 
malc.txt" atomically:YES];

Why does that magic incantantion work? Well, if you’re a particularly clever spark, it occurred to you that

I discovered this when I realised that the UIImagePickerController writes camera photos to that  folder too, so your app must have write access, which it does :-)

Yes, when you think about it, indeed it must, mustn’t it now? And whilst I’m quite sure from Apple’s perspective this counts as unsupported, at first glance it doesn’t appear to be actually illegal by any currently published standards … so assuming that you put in appropriate writability verification in case the picker’s path changes or they get pickier (heh) about allowing access in future, this seems like a most excellent way to approach the problem of application data transfer/sharing on the device!

h/t: iphonesdk!

Continue Reading →
3

Snippets: Generic Controllers

Over at iPhone Development they’ve  been writing a series of articles describing a variety of handy controller classes:

Source for the first four is handily available here. Enjoy!

Continue Reading →
1

Source: Networking

This looks like an excellent tutorial on implementing Bonjour-based networking in your iPhone application, and of course there’s source code provided. Yes, most direct applications of this will probably be more appropriately addressed with GameKit.framework in OS 3.0 — but it certainly can’t hurt to supplement Bluetooth local networking with WiFi local networking … or, of course, offer both! Also note that the author offers ByteClub, a paid multiplayer gaming platform.

And in order to do that, an excellent place to look is MYNetwork the Mooseyard Networking Library from the redoubtable Jens Alfke … who has his own commentary on the above tutorial, and has even forked the above source to use MYNetwork. For any networking needs past GameKit only, that’s definitely where we’d start!

[UPDATE: And speaking of GameKit ... there's a pre-WWDC release of a contact sharing application and full source code here!]

Continue Reading →
1

Tools: Reverse Engineering

So let’s round up resources for reverse engineering iPhone executables today, just for grins, shall we?

If you’ve been around the Cocoa world for a while you’ve probably heard of class-dump, and there’s a version of it that’s iPhone-executable savvy called class-dump-x. That gives you class interfaces; if you want to dig directly into disassembling the code, your tool of choice is otx. If you want to dig around and see just what the environment is like at runtime, the usefully named Runtime Browser is your tool, source now up at Google Code.

And for digging through the output of an iPhone application or the system itself, don’t miss the invaluable iPhone/iPod touch Backup Extractor for turning opaque iTunes backups into individual files and SQLite databases just right for mucking with.

Here’s a selection of other useful tidbits and background:

How to classdump SpringBoard header files and patch it

Armchair Guide To Cocoa Reverse Engineering

Reverse engineering Apple’s OS X

[EDIT: Check out this post on reverse engineering system_profiler!]

Now, there should be just about nothing that can be kept a secret from you! Any other useful little tools or tidbits to suggest, anyone?

Continue Reading →
0

Tips: Site Design

Here’s a blog post worth reading if  you’re planning to make your website more iPhone-friendly than “yeah, installed WPTouch, there we go then”, like we’re going to get around to doing one of these days — no, really! — discussing how the dejal.com website looks so good on the iPhone. (Seriously, it does. Go check it out. A model for us all!) and most thoughtfully providing the CSS that enables all the nifty formatting discussed in this earlier post. Good stuff!

Continue Reading →
0
Page 3 of 3 123