Reputation: 3709
I'm the type of person who usually learns by doing. I have an idea for an app but am conflicted if I should just start development and when I come across something just look it up in my book (the popular apress grapefruit book) or just go through the book first getting the fundamentals down! Any suggestions? I'm already through chapter 5.
What have some of y'all done to get started in iPhone development?
Upvotes: 4
Views: 1217
Reputation: 1
You will need to set up an account in iTunes Connect if you plan on submitting apps to the App Store. As an iOS Developer Program member, you have access to both the GM and pre-release versions of Xcode, which includes the Xcode IDE, Instruments, iOS Simulator, and the latest iOS SDK. You can download the GM version of Xcode from the Mac App Store, or obtain pre-release versions from the iOS Dev Center. You can get all these information on developer.apple.com site. It is the best site where you can learn everything about iPhone app development. Thanks
Upvotes: 0
Reputation: 17170
JFDI and consult books when you get stuck. Buy as many books as you can - although the grapefruit book is good, you should have Aaron Hillegass' and Erica Sadun's books too. Infact, buying ever iPhone book there is is not a huge outlay compared to your mac and phone...
Then, if you're still stuck, post code here and get help specific to your problem.
Upvotes: 0
Reputation: 713
I learned iPhone development largely through Apple's iPhone Dev Center. You have to register as a developer (free), but in exchange you get tons of great documentation and tutorials.
I suggest a combination of reading documentation, trying out tutorials, and watching their videos. You'll want to install the iPhone SDK as soon as possible. Nothing substitutes for the excitement of trying to compile code and run it on the simulator. You'll find the documentation reader built into Xcode (the IDE that comes with the SDK) handy too.
Are you familiar with Objective C? If not, skim "Learning Objective-C: A Primer" before anything else.
Next, check out the "Your First iPhone Application" document. It's a quick tutorial and walk-through of the development process. Once you do this, there isn't any reason not to try creating your own application. Just keep in mind that as you read the rest of the documentation you'll stumble on better ways of doing things.
Reading the "iPhone Application Programming Guide" takes awhile, but it's a good overview of the major APIs and hardware available on the iPhone. This is useful for understanding the big picture of what is possible.
Finally, I found Apple's "Fundamentals of Cocoa Session from WWDC" video very helpful in getting a sense of the typical development flow and how Cocoa and Quartz works. That video demonstrates creating a desktop app, but 99% of it applies equally to the iPhone. That particular resource is available by clicking on their "Getting Started Videos" link.
To sum up, I suggest trying some code rather than just reading forever. That said, over the long term you'll still want to push through all Apple's "getting started" documentation. Some skills, like memory management, can't be acquired by fiddling with code.
Upvotes: 2
Reputation: 22767
No matter what industry you are in, you're going to have competition. There are tons of apps in the app store. Chances are it exists already in some form and it's better than your idea. Chances are you don't have a truly unique idea, but a cool spin on something somebody else is doing. Buy their app (it's probably only 99 cents) and have a look at how they did things, this may give you some new ideas for how to make your app better. Maybe you are simply doing the same exact thing but you're going to do it cheaper. You've now got yourself a product plan.
There are lots of reusable bits that you can copy and paste into your own app ideas but mostly this serves to communicate their intent. Lots of times you'll see something in a header file or documentation but you don't really get the true intent of how you should be using it. Play with it, make changes, make improvements, run it through Instruments and check for memory leaks, etc. The more you play around with Xcode the more familiar it will feel. Now is is a great time to start picking up some keyboard shortcuts. Read like crazy, memorize all of it until your brain explodes.
This means basically "putting it all together" or a "proof of concept" of your idea. This helps to get all your thoughts into a single project instead of scattered about in the demo source you see and play with. This will ultimately not be the app that goes to the App Store, but you should be able to copy and paste liberally into your "real" application. It's also a way to try new ideas without playing with your real project later. Git helps tremendously with it's branching ability here, I highly recommend using it.
Take everything you learned playing with sample source code and building your proof of concept and construct your production application. Do not release it to the App Store until you've tested it on the device and ran it through Instruments a few times to make sure you've got the kinks worked out, the last thing you want is bad reviews. For god sake make somebody else test it! "Lone Wolf" development is fine if you're building something open source but if you are shipping a closed source product you need another set of eyes, I don't care how perfect your ivory tower is.
Congratulations! You've shipped your app and it was accepted! Now get on the horn and contact everyone you know, let them know your app is for sale and to tell their friends. E-mail the blogs you read, get your app or game reviewed by a credible source. Build some "word-of-mouth". Blog about it, Tweet about it, make the whole world love you for solving their problem :)
Upvotes: 7
Reputation: 19528
I've found it very fruitful to go through the Stanford iPhone Programming Class CS 193P. You can effectively audit the class for free, watching each lecture downloaded from iTunes and follow along with the people taking it for credit by doing the homeworks and reviewing the class handouts. I've done the first three homeworks at this point and learned a lot from that experience.
If you learn well from in class teaching and targeted assignments it's an excellent choice.
Upvotes: 11
Reputation: 4728
I can't comment on this specific platform but every time I have tried to learn a new language, platform or framework, I almost always make it some way through learning it all before jumping into code. And those final chapters are always something I wish I had at least skimmed over because they tend to be what you need when you are developing real world applications.
Upvotes: 0
Reputation: 294227
Read the grapefruit book up to chapter 15 and do all the apps ;) Really helped, seriously.
Upvotes: 2
Reputation: 88345
I think you'll have an easier time if you read through your book first, or read through the Apple Objective C/Cocoa Touch documentation. The memory management and interface builder stuff for iPhone can be a little tricky to get started with, it might pay to read first and run through some examples before trying to start your first project.
Upvotes: 0