Home »

Building an iPhone app without a Mac

9. January 2010 by Dave Hawes 4 Comments

This article is about what I have had to do, as someone with a Microsoft technologies background, to get setup to write an iPhone app. I ended up getting my Samsung NC10 netbook to dual boot Windows 7 and MacOS X Snow Leopard so I could achieve it.

The first problem that I needed to solve was the development  environment. To write a nativesamsung-nc10-blue-300x229 iPhone app you need a Mac and the Xcode IDE. Xcode is available for free download as part of the SDK at Apple’s developer website  So all I needed now was some hardware to run it on. The simple solution would have been to buy a Mac, checking out the prices I would have had to pay about £800 for the cheapest MacBook – ok it’s a good looking bit of kit, but in my opinion it’s overpriced and specs aren’t that great compared to PC’s you can get for the same money. I am only doing this for a bit of fun and this is way too expensive. What to do then?

snow-leopard Well after a quick search on the Internet I found that it is possible with create a Hackintosh. This is essentially a PC which has very similar hardware as a Mac so MacOS can be installed and run on it. As it turned out my netbook (Samsung NC10) could be turned into a Hackintosh :).

I purchased Mac Mac OS X Snow Leopard v. 10.6 (Mac DVD) for £20 from Amazon and set about getting it installed. Now I must add here that it is against the terms and conditions to install MacOS on anything other than an Apple Mac, however my view is that this would not stand-up in court. Microsoft were forced to open up Windows to other software companies and I suspect that a similar opening up of MacOS to hardware companies might be enforced if it ever got taken that far.

Windows7 I found a great article with step by step instructions on how to Dual boot Windows 7 and MacOS on a Samsung NC10. It did mean I had to purchase a couple of 8Gb usb drive (£10 each) but I would use those for other things anyway. The other thing you need is to borrow a real Mac to create the MacOS Usb drive, but that only takes an hour or so.

So now I have a computer with Xcode on it, now what? Well you have to then learn all about Objective-C to build an iPhone app. I tried the docs that came with the SDK but they were very dry. I have ended up purchasing 2 books, Beginning iPhone 3 Development: Exploring the iPhone SDK and Cocoa Programming for Mac OS X. I have started with Cocoa Programming for Mac OS X as this will give me a grounding in Cocoa and Objective-C before I move onto trying to create iPhone specific apps. While I love the authors enthusiasm for Objective-C, I personally I have a couple of problems with it.

Final result on my Samsung

1) Objective-C is less intuitive that other OO languages. I primarily use c#, but have also written apps in Java and ActionScript3 which were much easier to learn.

2) I find the Xcode tool is harder than it should be. I would say it is about at the level Visual Studio 6 was with separate IDE’s for different features. There is XCode for coding and Interface Builder for creating visual forms and it is a much more complicated process than it should be to link the frontend (IB) to the backend code (Xcode). If you look at the latest Visual Studio from Microsoft or Eclipse (which I use for AS3 coding) these are much better tools for developing software as they allow you to concentrate on solving business problems rather than making you do lots of plumbing code to make the app work.

So I am now working my way through the various “Hello World” applications and getting better at using the Xcode and Interface Builder tools required to create an iPhone app. Hopefully in a few weeks I might create something half decent!

My conclusion is this, Apple have made a great product for the masses with their iPhone. There are 1000’s of apps out there for it and it has advanced mobile computing. I can see them being dominant for the the next 2-3 years at least. However other vendors are catching up LG and Nokia’s n900 have new handsets based on Linux and they look fantastic and are far technically far superior to the iPhone. Plus the barriers to entry for developers to build apps are much lower and there is a massive dev community already out there who will be able to cross train very quickly. I have given up on getting excited by Microsoft smartphones as they have been around so long but have failed to capture the public’s imagination. So my prediction is the iPhone will be put into second place by a linux based phones in around 3 years time because Linux will have the better tools for creating apps.

Comments

Ian
United Kingdom Ian said:

Know what you mean about Windows Smartphones... but the Latest HTC Touch HD 2 is quite a huge step up from any of the others I've even seen/owned.  Hopefully it's a sign of things to come...

Nick
United Kingdom Nick said:

Windows Mobile is improving, but I do agree with you. It has one last shot before I switch to something else... WM7. In the mean time I plan to flash my TouchHD with WM6.5.

The iPhone is a nice peice of hardward, but again I agree you you, others have made (or are making) better now.

Software wise, I dont like Apple and never have. They are too concentrated on form over function. And from a corporate sense, there are far too many hard lined/arogant caveats. The EULA on installing OSX on non-Apple hardware for instance.

I'm no particular fan of Google either (they're akin to Apple in too many respects), but admit I would like to try Android. MS are feeling the competition, so here's hoping WM7 does the trick.



davehawes
United Kingdom davehawes said:

Microsoft's problem is the name of the main hardware vendor... HTC who other than techies have hear of them, I know none of my family would trust someone they have not heard of. They should get their own brand for the phone and an app store. Apple have iPhone and AppStore, Nokia have, well Nokia and Ovi store - I suggest Microsoft should release the Microsoft x-Phone (like x-box) and x-store (although that sounds rather adult!!!)

pingback
howtoworkonmaccomputer.howto.com.co said:

Pingback from howtoworkonmaccomputer.howto.com.co

Samsung NC10 Dual boot Mac OS X Snow Leopard and Windows 7 | how to work on mac computer

Comments are closed