Feeds

Go native with iPhone development

Baby steps

Intelligent flash storage arrays

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".

Top 5 reasons to deploy VMware with Tegile

Next page: Wrapping It up

More from The Register

next story
Mighty Blighty broadbanders beg: Let us lay cable in BT's, er, ducts
Complain to Ofcom that telco has 'effective monopoly'
Download alert: Nearly ALL top 100 Android, iOS paid apps hacked
Attack of the Clones? Yeah, but much, much scarier – report
Broadband sellers in the UK are UP TO no good, says Which?
Speedy network claims only apply to 10% of customers
Yahoo! blames! MONSTER! email! OUTAGE! on! CUT! CABLE! bungle!
Weekend woe for BT as telco struggles to restore service
Fujitsu CTO: We'll be 3D-printing tech execs in 15 years
Fleshy techie disses network neutrality, helmet-less motorcyclists
Facebook, working on Facebook at Work, works on Facebook. At Work
You don't want your cat or drunk pics at the office
Soz, web devs: Google snatches its Wallet off the table
Killing off web service in 3 months... but app-happy bonkers are fine
prev story

Whitepapers

Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.
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.
Driving business with continuous operational intelligence
Introducing an innovative approach offered by ExtraHop for producing continuous operational intelligence.
10 threats to successful enterprise endpoint backup
10 threats to a successful backup including issues with BYOD, slow backups and ineffective security.
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?