For your level of experience I would go would go with Kochan - Programming in Objective-C 4th edition.
There is also a free course for iPhone programming from Stanford (video lectures).
MonoTouch is a good alternative if you prefer to use C#, but you will need to pay 99$/year to Apple + 399$ for Monotouch. The good thing is that you can evaluate MonoTouch and pay after you are comfortable with the tool.
RubyMotion is too young to be used in a large application. Also learning Ruby and Cocoa in the same time can be difficult. I think RubyMotion is a good fit for an experienced Ruby programmer that wants to start coding on iOS. Another potential problem with RubyMotion is that it is currently developed by a single person, which can be problematic on long term.
That been said, muy advice is to go on the Objective-C route since you are already comfortable with C. Objective-C is a small language and an experienced C programmer can be up to speed in a matter of days.
The real challenge is in learning the iOS libraries and not the programming language.
I can not agree with recommending ARC to anyone at this time; in this case there is a ton of existing code out there which is incompatible with it. If you are an experienced obj-c developer who's tired of writing boilerplate and uses the static analyzer with LLVM - then go for it.
Learning to clean up after yourself is a life skill worth having. And besides, there's always the -fobjc-arc flag for classes which use it.
EDIT: Every project seems to include:
Reachability
SBJson
ASIHttp
And also commonly occurring:
OpenUDID
ZipKit
NSLogger
InAppSettingsKit (there are others)
Cocos2d/3d
I suggest you to do a search after iOS 5 on Amazon and check the comments before buying a book. I'd stay away from any of the Appress books on Objective-C, iOS, etc ... low quality of information and a lot of typos.
Personally I don't have a preferred source and I tend to use Apple's documentation or tutorials from websites like:
Comments
For your level of experience I would go would go with Kochan - Programming in Objective-C 4th edition.
There is also a free course for iPhone programming from Stanford (video lectures).
MonoTouch is a good alternative if you prefer to use C#, but you will need to pay 99$/year to Apple + 399$ for Monotouch. The good thing is that you can evaluate MonoTouch and pay after you are comfortable with the tool.
RubyMotion is too young to be used in a large application. Also learning Ruby and Cocoa in the same time can be difficult. I think RubyMotion is a good fit for an experienced Ruby programmer that wants to start coding on iOS. Another potential problem with RubyMotion is that it is currently developed by a single person, which can be problematic on long term.
That been said, muy advice is to go on the Objective-C route since you are already comfortable with C. Objective-C is a small language and an experienced C programmer can be up to speed in a matter of days.
The real challenge is in learning the iOS libraries and not the programming language.
Yes, the general opinion seems to be:
Use Objective-C with the new Automatic Reference counting mechanism.
iOS libraries - in your opinion - what are some good resources to get familiar? (Google-fu results in a lot of links to wade through).
I can not agree with recommending ARC to anyone at this time; in this case there is a ton of existing code out there which is incompatible with it. If you are an experienced obj-c developer who's tired of writing boilerplate and uses the static analyzer with LLVM - then go for it.
Learning to clean up after yourself is a life skill worth having. And besides, there's always the -fobjc-arc flag for classes which use it.
EDIT: Every project seems to include: Reachability SBJson ASIHttp
And also commonly occurring: OpenUDID ZipKit NSLogger InAppSettingsKit (there are others) Cocos2d/3d
You can disable ARC for some or all part of your program, so lib compatibility is not a problem.
Thanks for the heads-up on ARC.
Not averse to managing memory :-)
If you need to include those files in your project, you can just turn ARC off for them while leaving it on for the rest.
I suggest you to do a search after iOS 5 on Amazon and check the comments before buying a book. I'd stay away from any of the Appress books on Objective-C, iOS, etc ... low quality of information and a lot of typos.
Personally I don't have a preferred source and I tend to use Apple's documentation or tutorials from websites like:
http://www.raywenderlich.com/
iOS is a moving target so it is difficult to find a good book on this.