Archive for 'Programming'

Resources: Open Source

Let’s list off today some sites worth checking out for iPhone/Mac programming open source goodies should there not — heaven forfend! — be anything particularly appropriate already mentioned in the annals of this humble journal. Hard though that is to imagine of course!

And for a vast list of iPhone-devoted not only open source projects but everything from LinkedIn groups to useful blogs (why, it even lists us! How sweet!), the pithily named

iPhone Resources

is not to be missed.

As always, if there’s anything noteworthy we’ve missed, comment away!

Continue Reading →
6

Resources: Chipmunk

So a while back we rounded up resources for the Cocos2d sprite library, and a fine library it has turned out to be too; now we’re getting into figuring out the Chipmunk physics library that it comes with, and that deserves its own resources post. It’s a bit slim, so if you have more to add, please do. But for now:

First off, the project home page for videos, tutorials, and the latest links.

Currently the source is hosted at Google Code.

Start out reading with the official documentation and the repository wiki.

Excellent tutorial to follow through next here.

And when you have more questions, the nicely active development boards are here!

UPDATE:

The Chipmunk SpaceManager is a helper for cocos2d; source on Google Code.

The Chipmunk author has an Objective-C binding for sale, at $199.

VertexHelper is a tool for graphically defining Chipmunk or Box2D sprite vertices.

Continue Reading →
2

Code: AQXMLParser

Got a big (like, 22 MB) XML file to parse on the iPhone? Want to reduce the memory usage from NSXMLParser’s huge (like, 123 MB) virtual memory usage by several orders of magnitude down to almost nothing (like, 68 kb)?

Yeah, we thought you did.

The magic trick is to use “Alan Quatermain”s AQXMLMemoryParser:

Here’s the output. I think it shows that AQXMLParser is going to be *lovely* for the iPhone. Mwa-ha-haa.

Testing NSXMLParser from URL...
Parsed 200000 numbers
Peak VM usage: 128991232 bytes

Testing NSXMLParser with mapped data...
Parsed 200000 numbers
Peak VM usage: 130035712 bytes

Testing AQXMLParser...
Parsed 200000 numbers
Peak VM usage: 69632 bytes

That’s right, the NSXMLParser variant (calling xmlParseChunk() with all data at once) uses 123-124MB, while AQXMLParser (calling xmlParseChunk() with 1KB at a time, not loading all data anywhere) gets 68KB.

In short: AQXMLParser == T3h w1n!

Indeed. Source is in AQToolKit on github which is just full of all sorts of other useful goodies as well. Note also author’s blog for background.

h/t: iPhone Development!

UPDATE:

Check out parsing example here. As referred by this chuckle-worthy post.

Continue Reading →
0

Source: Bickboxx

Here’s another open source project for the iPhone that may catch your interest: the available-on-the-App-Store Bickboxx is open sourced on github:

Our vision with Bickboxx is to build a community of developers for source code sharing, discussion about building iPhone applications, and resource sharing.

When you go to build your first iPhone app or your 100th…you have a great resource to start with Bickboxx.

We’ll be adding more and more features to Bickboxx and committing them to the github.com repository…

We’ll also be posting more tutorials about how we added these features to TheAppleBlog.com. So feel free to kick back, grab a fork (pun intended) and contribute some great open source code!

My, they’re bright-eyed fellows over there, aren’t they? Always amusing, er we mean inspiring, to see such sparkly enthusiasm, indeed.

Continue Reading →
0

NimbleKit

Here’s something that our web programming friends will probably find of intense interest, and real programmers (we kid, we kid) may be mildly curious about as well: it’s called NimbleKit, and it’s … well, let’s let them describe themselves:

NimbleKit is the fastest way to create applications for iPhone and iPod touch.
You don’t need to know Objective-C or iPhone SDK.
All you need is to know how to write an HTML page with Javascript code.

They do claim to have some fairly comprehensive  feature support,

  • Native iPhone interface elements
  • Full control of application appearance
  • Play bundle audio files
  • Play audio streams from the Internet
  • Support iPhone vibration
  • Support Address Book with full search and people picker
  • Access to bundled files
  • Check Internet availability
  • Location services (GPS)
  • Access to images (take photo or browse in library)
  • And much more…

Indeed. We’re not quite intrigued enough at the moment to bother downloading it ourselves, but hey if you are, be sure and let us know what you think!

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 →
4

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

Social Platform: OpenFeint

Whoops, we’re really not on top of the iPhone gaming industry that well; we just noticed that a whole whack of the cool kids have put together a social networking platform for iPhone gaming called OpenFeint. And it has a bunch of nifty features:

  • cross-promotion between participating games
  • Facebook & Twitter integration
  • cross-game lobbies
  • leaderboards
  • game chat rooms
  • privacy controls

Whew! That’s quite the list. Now, I can see a few issues here, for starters how does their per registered user cost account for the 50% to 90% or so of users that seems to be the general consensus are pirates? — but since they say it’s free to join for free games, well, we’ll certainly look into trying this out with a free game sometime!

h/t: TechCrunch!

UPDATE: So ok, there’s a variety of social platform options! Let’s line them up:

Anyone have direct experience with any of these? And are we still missing any?

POSTSCRIPT: OTHER ROUNDUPS

09.06.17: scoreloop vs open feint vs plus+
09.07.13: iPhone Social Gaming Service Roundup
09.07.15: iPhone Social Platforms Compared
09.07.17: Social Platforms Revisited

Continue Reading →
3
Page 78 of 96 «...5060707677787980...»