Matt Galloway

My home on the 'net.

iPhone SDK Bug Hunting - GCC atomic builtins

For a while now I have been reporting bugs that I find in the iPhone SDK / iPhone OS to Apple because I realised that it’d be nice to help out. Some bugs have been small and some have been large, ranging from minor crashes of MobileSafari up to full blown problems in the iPhone SDK and associated frameworks.

One that I came across today had stumped me for a long time and it has to do with the GCC atomic builtins. If you’re unfamiliar with them, then a good bit of introductory reading is a great blog post on the ARM blog. Now, these atomic builtins have not been defined within the iPhone’s libc implementation, until the 3.2 SDK came along – it appears that Apple have added them. This is a good thing, because it means that we can start using them in our applications. But, we can only use them for applications running on iPhone OS >=3.2 of course. That’s where the fun begins…

iPhone Programming: The Big Nerd Ranch Guide

I got into Mac OS X / Cocoa / iPhone programming after reading the wonderful book by Aaron Hillegass called Cocoa Programming for Mac OS X and always thought that Big Nerd Ranch should do an iPhone book and, they have. I’ve had a flick through it and it looks like an excellent read. It’s called iPhone Programming: The Big Nerd Ranch Guide. On the outset it looks to be a similar style to Cocoa Progamming for Mac OS X in that it talks about Objective-C and things you need to know there such as memory management and then goes on to describe the various parts of the iPhone SDK.

Anyway, I’d recommend buying it if you’re thinking about getting into iPhone programming.

In-App Advertising

Over the Christmas period, Matt Martel decided to offer free advertising within his reMovem app to other indie iPhone developers. I took him up on this offer for my BeerMap application. I want to thank Matt for such an excellent idea and I want to share with everyone the sales figures which I saw.

App Store Rejection - Bad Age Rating?!

So I released an update to BeerMap a couple of weeks ago. This was version 2.0 which was going to be a huge release which I really wanted to happen before Christmas and that’s why I spent 2 months perfecting it and released it with 3 weeks to go until Christmas which I assumed would be fine. Sadly, I was wrong.

ldr 12-bit displacement out of range

I started getting this strange message when compiling for my iPhone:

ldr 12-bit displacement out of range

Eventually I found that quitting Xcode, deleting the build folder in the project then reopening Xcode and re-building made everything work again.

Just putting here in case anyone else has similar issues!

UPDATE: Anyone else with this problem, please file a bug report with Apple (http://bugreport.apple.com/) because if lots of people file a bug then hopefully they’ll do something about it.

iPhone DNS Servers

I have been bashing my head against the fact that on the iPhone you seemingly cannot access /etc/resolv.conf, or use functions from the Mac such as SCDynamicStore stuff. I have seen many people asking this question, a few related to the same package I was trying to use – ares.

Compiling Boost for the iPhone

For a recent project I’ve had to compile the Boost C++ library for the iPhone. Much of the Boost library is header files so they are fine as nothing needs to be done, they just get copied into place, but the bits which do need compiling are a bit trickier. So I thought I’d share my experiences here.

In-app Purchase on Free Apps

Apple have announced the ability to allow in-app purchase on free apps. This is an interesting feature in my opinion. It will allow for some annoying “lite” versions which hide paid-for features which you have to pay to unlock, but also it will allow developers to leverage some interesting sales techniques.

This is one of the most exciting things I have seen Apple do over the past couple of months!

Mark my word: Tablet, May, 2010