Home » iphone » ARGH! iPhone dev is stupid

Fundamental Website Setup Links

ARGH! iPhone dev is stupid

Ok, yet another example of how Apple drives us iPhone developers crazy. When you develop software you want your development and test environments to match as closely to the distribution version as possible. In this case you want the iphone simulator and iphone dev system for the iPhone hardware to match how the final bundled app works. We’ve hit some issues in the past with this not being close, but we’ve found another lovely glitch. In looks like the iPhone simulator, and the dev hardware loader allow things that the distribution version doesn’t: specifically how file names are handled. On the simulator a file called “test.jpg” and a file called “Test,jpg” are considered the same. Some file systems allow this, others don’t. Howewver, when you bundle the app this breaks. Now the files are not considered the same, and this leads to broken links and images not correctly appearing in an app.

While it was definitely a mistake to not check that the file name matched the image call in the app–it wasn’t made easier to find this problem since the simulator happily displayed the image “properly”.

Sigh, a new version of the affected app has been submitted, but i really wonder why these types of glitches in the dev tools happen.


  1. This would be because of the difference in operating systems, or rather the file system in use. In Windows, SoMeFiLe.TxT and somefile.txt are the same file. The iPhone OS, and Macs in general, being UNIX-based, have case-sensitive file names, which results in the problem you discovered. It’s not something Apple can fix, and certainly not something Microsoft will fix anytime soon. I think that developing these on OS X would fix the problem.

    Just my $.02. I have never developed an iPhone app, though. This is just my knee-jerk reaction, having run into similar problems with other programming.

    • Hi, yes it has everything to do with the file system. But in this case it’s a reverse–this was happening on a Mac where it SHOULD have failed due to the difference in naming. But it didn’t for some reason. It only fails in the final bundled app version running on the SAME hardware. Very weird behavior and totally difficult to detect until it was already submitted. If I had developed the app on a PC I would more understand that this could happen.

      • Now *that* is something weird, and sounds like a problem in Apple’s software. I usually only ever use lowercase file names, even on Windows, just to avoid weird bugs like this. I wouldn’t have expected it on a Mac though.

Comments are closed.

AWSOM Powered