Feeds

Go native with iPhone development

Baby steps

Providing a secure and efficient Helpdesk

Chances are that when the official SDK is released it will need a reasonably virginal xCode setup to work with and I didn't want to mess up my existing system, which I use for regular Mac development. Conveniently, I use VMWare Fusion to run Windows XP under Leopard. It's dead easy to set up - a set of instructions can be found here.

You'll also need the xCode 2.5 Developer Tools disk to extract a file called Archive.pax.gz. This contains important Apple header files that will form part of the toolchain.

It is possible to "get at" this file from Windows, but it's much easier with a Mac. You mount the DMG, go to the \Packages\Packages directory, and when you find MacOSX10.4.Universal.pkg, right-click and choose "Show Package Contents" to drill down further.

You'll also need to install the iPhone root file system as part of the toolchain. Again, this is explained in the weblink. It's easiest doing this via a wireless connection to iPhone where you've installed the sshd daemon.

Installation the iPhone

Assuming you've installed the Cygwin toolchain - or other preferred option - you're ready to try building an iPhone application. Here again, there are plenty of examples around to get you started. The simplest thing is to download the inevitably named "Hello World" project and try building it. An example can be found here.

The exact details will depend on the precise toolchain you're working with. Once you've built the application (in my case by typing "make" from the Cygwin prompt within the project directory) you should end up with a file called Hello that is the actual ARM executable.

If you know much about Mac programming - and you'll certainly need to know something, if you're getting into iPhone development - you'll appreciate that Mac applications are made of bundles. You can find more on this here.

For consistency, you should deploy your application as a bundle. Create a folder called Hello.app and move the executable inside. You'll also need to copy the Info.plist file into the folder. It's important that the CFBundleIdentifier field inside this file is set to the program name, in this case "Hello".

Choosing a cloud hosting partner with confidence

Next page: Wrapping It up

More from The Register

next story
Same old iPad? NO. The new 'soft SIMs' are BIG NEWS
AppleSIM 'ware to allow quick switch of carriers
Arab States make play for greater government control of the internet
Nerds told to get lost in last-minute power grab bid at UN meeting
Brits: Google, can you scrape 60k pages from web, pleeease
Hey, c'mon Choc Factory, it's our 'right to be forgotten'
Of COURSE Stephen Elop's to blame for Nokia woes, says author
'Google did have some unique propositions for Nokia'
It's even GRIMMER up North after MEGA SKY BROADBAND OUTAGE
By 'eck! Eccles cake production thrown into jeopardy
Mobile coverage on trains really is pants
You thought it was just *insert your provider here*, but now we have numbers
Don't mess with Texas ('cos it's getting Google Fiber and you're not)
A bit late, but company says 1Gbps Austin network almost ready to compete with AT&T
prev story

Whitepapers

Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
Win a year’s supply of chocolate
There is no techie angle to this competition so we're not going to pretend there is, but everyone loves chocolate so who cares.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Intelligent flash storage arrays
Tegile Intelligent Storage Arrays with IntelliFlash helps IT boost storage utilization and effciency while delivering unmatched storage savings and performance.