Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Whats the best way to get started on iPhone development if you are an expeienced C++ or C# programmer? Most books either assume you know nothing or something.

What are the steps to achieve this?

For eg: first learn objective C (let's say), next learn cocoa...

I am interested in books/resources.

I read Getting started with iPhone development from Oreilly (the missing manuals book) but that just provided an over view on the programming and concentrated more on getting your app into the app store.

I need resources that will help me start coding.

Other questions: How much of objective C do you need to know? How do I start learning the cocoa framework? Can I directly start on cocoa touch or do I need to know the MAC cocoa framework first?

Inputs from someone who was in the same situation (Know c++/c# but no clue about mac programming/objective c/cocoa) would help greatly.

share|improve this question
3  
I must say, programming for the iPhone isn't nearly as simple as people who don't do it think it is. –  Cawas Mar 30 '11 at 23:08
    
Also see: stackoverflow.com/questions/414636/… –  Jim G. Sep 29 '11 at 21:02
    
@Cawas: Tell me about it! –  Bobby Alexander Oct 3 '11 at 6:27
add comment

closed as off-topic by MichaelT, GlenH7, Dan Pichelman, psr, Robert Harvey Aug 15 '13 at 16:19

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – MichaelT, GlenH7, Dan Pichelman, psr, Robert Harvey
If this question can be reworded to fit the rules in the help center, please edit the question.

8 Answers

Hardware

  • you need a Mac

Books

share|improve this answer
1  
Point 1 there is why I do not like iPhones. –  Orbling Jan 12 '11 at 17:11
    
@Orbling : You mean why you dont like programming for iPhones. –  Bobby Alexander Jan 13 '11 at 4:34
    
@Bobby Alexander: I am a programmer, if I had one, I would want to program for it. So I don't like the phones, as buying one would mean I required a Mac, which doesn't bear thinking about. –  Orbling Jan 13 '11 at 6:15
    
@Orbling: You dont need a mac just to own an iPhone. You just need one if you want to program for the iphone. –  Bobby Alexander Jan 13 '11 at 6:34
1  
@Bobby Alexander: That's my point, as a programmer, if you own one, you will want to program it. –  Orbling Jan 13 '11 at 12:02
add comment

This is how I did it.

  1. Read the API
  2. Buy a mac for compiling source code
  3. Buy monoTouch
  4. Run Visual Studio virtually in mac and compile your monoTouch code.
share|improve this answer
    
Rad the API - you mean from the mac developer site? That seems to be a never ending activity. Buy a mac - Done ;) Monotouch - I am not sure if I want to go the monotouch way. Was thinking of native development. But do share your experience with Mono. What are the benefits? How does one figure out the APIs for something? –  Bobby Alexander Jan 12 '11 at 7:03
    
@Bobby Alexander You can read about API's that affect your project. For example read camera API if you want to make a camera App. –  Amir Rezaei Jan 12 '11 at 7:06
    
@Bobby Alexander I really enjoyed monoTouch, since I was familiar with C#. I didn't need to worry about memory handling and learning objective-c which in my opinion has a crappy syntax. If your are short in time I think you will be more effective using monoTouch. –  Amir Rezaei Jan 12 '11 at 7:11
    
Does MT have its own documentation for every API that it supports or do we have to look into the Apple documentation and convert the code to C#? –  Bobby Alexander Jan 12 '11 at 7:13
    
@Bobby Alexander It was 1/2 years ago I did something with MT. They didn't have any documentations. However the name of API methods are the same, so it is quite easy to convert ojective-c code to C#. –  Amir Rezaei Jan 12 '11 at 7:27
add comment

As far as Objective-C goes, there's another question active here about that at Best book to learn objective C for experienced programmers

share|improve this answer
2  
I asked that question ;) –  Bobby Alexander Jan 12 '11 at 9:52
add comment

Once you register as a developer (a free account is fine) you'll have access to the Apple World Wide Developers Conference 2010 session videos. There are a bunch of really good, highly-targeted, hour-long presentations that will be useful. Using the Xcode IDE, MVC with Cocoa Touch, using the various frameworks, etc. A lot of useful material, free of charge.

share|improve this answer
add comment

If you're familiar with C++ and C# I'd suggest to go through Objective C language guide (NOT primer). You can find one on Apple's developers site. From there - just jump in and build an rss reader. You'll get to know most common UI elements and APIs through this:

  • Tabbed controller (for, say, reader categories)
  • Navigation controller (for navigating between list of posts and the actual single items)
  • Custom UIViewController with custom xib file for custom view for viewing single rss item
  • XML parsing basics
  • UITableView delegate and data source protocols
  • Asynchronous image loading (if atom feeds have optional image element)

I suggest you start with "Tabbar based application" template in Xcode.

P.S. Don't forget your mac and ios developer program so you can actually run your app on your iDevice.

share|improve this answer
add comment

If you're fluent in another OO language then Matt Gemmell's iPhone Development Emergency Guide is a must-read. He does a really good job of explaining the differences between the development environments you're already familiar with and this one, including hardware, IDE and language differences.

share|improve this answer
add comment

To aid your learning, get your Mac set up with XCode, then download and look through some of the sample projects from the iOS Reference Library.

If you're good at design, I'd recommend taking a decent look at Interface Builder too - it is pretty easy to throw together a fairly comprehensive app with little or no code at all.

IMO, the you'll pick up the Objective-C along the way. Apart from the unfamilia [methodCall:withParameterNames:inTheSignature] message passing syntax, it's C-with-Objects.

share|improve this answer
add comment

I found the other O'Reilly book, Learning iPhone Programming, to be pretty good. There is also a fair amount of decent documentation on the Apple Developer Connection for getting started with Objective-C, Cocoa and iOS.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.