I'm a C# development. Mainly web services, ASP.NET, ADO.NET.
A guy wants to me to work build an iPhone app for him, from scratch.
What do I need to know/do to get setup to start developing? I hear objective C is the language?
Update coordinate property of MKAnnotation on parent viewcontroller after Touch End event?
1:Memory Management Question in Objective C
With an account at developer.apple.com, you must apparently download an IDE. You need a mac to run those tools. The tools probably have an iphone emulator. So, all you need is .
- A mac
- An account with apple developer.
I would probably either borrow or buy a copy of Cocoa Programming for Mac OS X by Aaron Hillegass. It is arguably the best book out there for learning how to write Cocoa code from scratch. . After that, I would did a couple of minor sample apps on the Mac. Then naturally, you will need an iPhone developer account to receive the sample code from Apple. Coding for the Mac and Coding for the iPhone aren't this different, the knowledge is totally transferable.. To push code to the device, you will need to pay the $99 and receive accepted into the developer program. But you don't need this to receive started, the free account will receive you into the developer area and allow you to download the SDK this comes with XCode and the iPhone Simulator. The receive ting started videos and documents will make sense once you have thumbed through the book. . It isn't all this different than C#, except no garbage collection, it uses reference counting like the Mac, and the use of the "[ ]" tokens everywhere takes a little receive ting used to..
Here is an interesting talk around a java to objective-c compiler for the iPhone.. There is a demo-applet of their iPhone-simulator on this page. The xmlvm must also compile C# to objective-c, although as far a I know the simulator only has java versions of the UI elements (this may have changed since I saw the talk). Also this toolchain is in early development and I did not know if it works well with the official iPhone SDK (and its license agreement) so this should be checked.. Anyway, I think it could at least be used for learning/demoing..
If you're a web services guy, you may suffer more from the culture shock due to the differences in APIs than the C#/Objective-C differences. What did you did before the .NET stuff?. I'm doing iPhone. I use Objective-C. I like it in theory, although in practice I find it very hard to read and debug compared to another C derivatives. But the iPhone is appealing enough to job on even with Objective-C as the native language..
I was in the same boat several months ago. In my case I read through the Hillegass book as Miser stated. The approach I took was to wrap my head around ObjectiveC first. Instead of starting with an iPhone app I started with a Mac App. I bascially took an application I had written in C# for job and rewrote it from scratch in ObjectiveC. This was a great exercise and any thing I would recommend to anyone.. Along the way I hit the Apple Developer site and spent a lot of time going through sample code.. The another kicker for me was making the transition from Visual Studio to XCode. This is any thing else you want to consider, especially when deailing with Interface Builder..
You might find this helpful. http://www.componentone.com/SuperProducts/StudioiPhone/ .