[October 4, 2012 Update]
On September 27, 2012, Apple accepted my first app, Fine Tip – Tip Calculator (buy it here, read about it here) into the app store. For reasons I won’t get into, I abandoned iPhone app development back in the fall of 2009. In August 2012, I took up the torch again. Within one month I was able to complete my first app.
Much has changed in three years. While most of what I wrote below still stands, ignore the book recommendations below. Instead, I strongly urge you to buy the two books below. Had they existed three years ago, I would have been able to develop my first app much quicker. I purchased them in August 2012 and had my first app done in less than a month:
-
iOS Programming: The Big Nerd Ranch Guide (3rd Edition) by: Joe Conway & Aaron Hillegass: This book assumes you have some programming experience. This is a FANTASTIC step by step, guide that assumes you know nothing about iOS/iPhone development. (Buy it on Amazon here – or get the Kindle version like I did here)
-
Objective-C Programming: The Big Nerd Ranch Guide by Aaron Hillegass: This book assumes you know nothing about programming at all! It’s a complete beginners guide to programming generally and iOS development specifically. If you know nothing about programming at all, start here. Then move on to the iOS Programming book above. I used it as a primer. It was very handy to get me back up to speed and as a reference book as I plowed through the iOS Programming book above. (Buy it on Amazon here – or get the Kindle version like I did here.)
[End October 4, 2012 Update]
[Original Post Last Updated: April 2009]
How hard could it be, I asked myself. I’ve developed my own applications in Basic and C. I can configure an Apache Server, install and use PHP, MySQL and other server apps. I develop and maintain websites and blogs from my home server. Over the last 15 years I’ve taught myself HTML, PHP, MySQL, CSS and the basics of Java. How hard could it be to develop a small application for the iPhone?
Let’s step back for a moment.
I have a very particular program in mind that I’ve wanted for years. It’s a very simple program – perfect for the iPhone (more on that in future posts). I could whip it up in C or PHP in about a day. I’ve never owned, or even used, an Apple computer of any kind in my some 27ish years of computing. I regard the iPhone App Store as a revolutionary new idea that pries control of mobile device apps from the big-bad telco giants and puts it in the hands of average consumers and developers — where it belongs. I see cloud computing as a very important part of our collective computing future. I want to get in on the ground floor. If my first simple program works out, I want to develop an iPhone app to work with my wishhh.com service. After that, who knows.
So, in August 2008 I registered to to join Apple’s standard developer program, purchased a Mac Mini (subsequently replaced it with an iMac) and set out to develop my first portable application for use on the iPhone.
Minimum Hardware
To develop for the iPhone you will need an Intel-based Mac running Leopard (OS X 10.5.3 or later). Any Mac released since 2006, laptop or desktop, should work.
Piece of Cake for Mac Cocoa Developers
If you have a solid grounding in Cocoa development (Apple’s Objective-C framework) with the xCode development on the Mac platform, developing iPhone Apps should be a breeze. Not so much for the rest of us.
Learning Curve for the Rest of Us
Below is a discussion of the hurdles I have had to overcome and the online resources I’ve found useful in my bid to become the newest iPhone App developer:
- Learning to Use the Mac and Leopard: Admittedly this will not be a hurdle for most iPhone App developers. It was for me. I have never used an Apple computer of any kind for more than a few minutes – ever! While I can appreciate the elegance and *cough* ease of use *cough* so often spoken about in the Mac/Leopard OS X world, just using the platform can be an enormously frustrating experience for a died-in-the-wool Windows user (the universal menu-bar makes me want to pull my hair out). But, I’m over that hump and moving forward.
- Downloading and Installing the iPhone App SDK: Everything you need to build an iPhone App is contained in the huge iPhone App SDK. Like everything else on the Mac, installing it as my first Mac App was a bit of a challenge. I had never heard of .dmg files, let alone used one, to download and install Mac apps. With the help of this Mac 101: DMG files are Disk Images explanation, that challenge was soon overcome.
- Object Oriented Programming, Objective C and Cocoa Touch: For 15 years I have been steadfastly opposed to learning object oriented programming ("OOP"). I didn’t need no C++. C was good enough for me. For small developers of small applications, I’ve never seen the benefit of inheritance, polymorphism and encapsulation – I still don’t (though I can see it being incredibly useful for developing large apps with large development teams). But for iPhone App development I didn’t have a choice. The only language available to develop iPhone apps is Objective-C, as the name implies, an object, oriented superset of the C programming language. Apple’s proprietary variant of Objective-C framework is called Cocoa. The specific part of the framework used for iPhone app development is called Cocoa Touch.
- Crash Coarse in OOP, Objective C and Cocoa: Much of my time in the first few weeks of my quest was spent learning the basics of object oriented programming and Objective-C, and Apple’s proprietary Cocoa. While the other hurdles mentioned in this post are challenging, learning the basics of Objective-C and implementing them a real-world program with Apple’s Cocoa, was, my biggest challenge. Aaron Hillegass’ text (see below), discovered 3 months after I started all this, was instrumental in my overcoming my Objective-C hurdles. With that text under my belt, I began to make significant progress.
- iPhone Development / Tutorial Books: In the initial days, iPhone developers were islands unto themselves. There was very little support anywhere, whether online tutorials, forums, texts etc. because Apple imposed a gag-order in the form of an NDA on all developers. Apple lifted its NDA restrictions on October 1, 2008. As a result, there are now a plethora of iPhone application development books coming out – See here on Amazon.com for example. The first book below is not, however, iPhone specific, but was critically important for me to read before I was able to progress through the next two.
- Cocoa Programming for the Max OS X (by Aaron Hillegass) – This book was recommended to me at the Toronto iPhone Developers conference on December 4, 2008 by an Apple employee as a good Objective-C Primer. It is terrific. It’s EXACTLY what I needed. It filled in most of the blanks I was missing. If you understand regular C, but are new to Objective-C – START HERE! You will NOT regret making this purchase. Reading and practicing on the iMac with the example programs contained in the first 8 or so chapters gave me the Objective-C grounding I needed to move forward to the books mentioned below. As of Dec 16, 2008, I believe I have a solid enough grounding to move on to the other two books.
Project files/code listings from this book (for basic Mac apps) can be found here (under the ‘Get the solutions’) heading. The book’s forum/errata list, such as it is, is here.
- Beginning iPhone Development (by Dave Mark and Jeff LaMarche) -As of December 16, 2008, I just started getting into this one. It’s looking good so far. I’ll update this section as I make progress.
Demo iPhone apps project files that correspond to the chapters of the book can be found here. The book’s user forum is here.
- The iPhone Developers Cookbook (by Erica Sadun) – This text was the first to arrive on November 13, 2008. On November 16, 2008, after getting a couple chapters in, I stopped and sought out the Aaron Hillegass text above. This book is quite good but assumes a solid grounding in Cocoa/Objective-C, which I did not have at that time. I’ll come back to it at a later point.
All project files/code listings/objects from all projects in the book can be found here. Her EricaSadun.com website provides a forum for readers to discuss the text and ask questions.
- Cocoa Programming for the Max OS X (by Aaron Hillegass) – This book was recommended to me at the Toronto iPhone Developers conference on December 4, 2008 by an Apple employee as a good Objective-C Primer. It is terrific. It’s EXACTLY what I needed. It filled in most of the blanks I was missing. If you understand regular C, but are new to Objective-C – START HERE! You will NOT regret making this purchase. Reading and practicing on the iMac with the example programs contained in the first 8 or so chapters gave me the Objective-C grounding I needed to move forward to the books mentioned below. As of Dec 16, 2008, I believe I have a solid enough grounding to move on to the other two books.
- Useful iPhone Dev Center Getting Started Documents: The iPhone Development Center website (free to anyone that registers – register here) contains a plethora of videos, tutorials, information, sample code, how-to’s etc. Much of it useful. Much of it not (especially for newbs like me). I strongly recommend the texts listed above. Once you have a grounding in the basics, the official Apple documents become much more useful. The most useful documents/tutorials I’ve found in the walled-garden iPhone Dev Center when I was starting out were:
- Object-Oriented Programming with Objective-C: Thank goodness for this document. After a few days I was almost ready to give up until I found this guide. It is written for someone who understand C and needs a primer on object oriented programming. This article explained OOP to me in a way that finally made sense to me. The light-bulb went off when I read the analogy between objects to C structures. If you understand C but not object oriented programming, this document can help you over the hump.
- Introduction to Cocoa Application Tutorial: The next most critical piece to my learning was this Cocoa tutorial. I had initially jumped straight to the various iPhone templates, sample code and tutorials but found myself a bit baffled by them. They all assume a base level understanding of Cocoa, xCode (see below) and Interface Builder (also see below) that I just didn’t have. I decided to first step back and use this tutorial to learn how to build a Mac App using the SDK tools before ploughing ahead with my first test iPhone Apps. It was worth it. In fact, I’ve gone through that tutorial twice. It nicely walks you through the MVC (model, view, controller) design paradigm assumed in all the other iPhone App documentation (see also MVC on Wikipedia), and holds your hand, step by step, through the process of designing and coding your first Cocoa application. Invaluable!
- Learning Objective-C: A Primer: I had read this document at the very beginning of my learning process and was somewhat flummoxed by it. Coming back to it again after digesting the OOP with Objective C document and the Cocoa tutorial (each above), it made so much more sense and is a ultimately a terrific primer once you have a little learning under your belt.
- Useful External Documents/Sites: Outside of the iPhone Dev Center, I found the following useful:
-
- CocoaDev: A fantastic wiki site for MAC OS X Cocoa developers.
- From C++ to Objective C: [pdf] While I never learned C++, as a C programmer this document at least spoke my language and helped me translate much of what I learned in the world of C to the world of Objective-C.
- Objective-C Resource Center: This site contains links to useful Objective C FAQs, tutorials, etc. However, these are of limited use since they all pertain to generic Objective-C and not to Apple’s proprietary version of Objective-C framework, namely Cocoa.
- xCode: To apply all the Objective C and Cocoa goodness I’ve been learning, Apple provides a fantastic development tool – xCode. xCode is a multi-facetted development tool used to develop both Mac and iPhone applications. I’ve used a dozen or so application development frameworks over the last 25 years and xCode is hands down the best. If there is anything that will delight you in the iPhone App development process its xCode. It just does what you want a development environment to do. So many of the menial tasks of the past are handled effortlessly for you. I am continually delighted as I use this tool with its deep feature set. Wonderful! For details see the xCode Workspace Guide.
- Interface Builder: Interface Builder (pictured above) is the part of xCode that you use to develop the visual/graphical interface to iPhone Apps – what you see and manipulate on the iPhone as you use iPhone Apps. It took me awhile to figure this beast out. The video version of the ‘Cocoa is my Girlfriend’ tutorial below was helpful as was this part of the more generic Intro to Cocoa Application Tutorial. I’ve quite a bit to learn yet to feel proficient at integrating the fruits of this tool with the underlying code in my application. But this too will come. The Interface Builder user guide is here (again, available only to those who have registered).
- iPhone Simulator: One of the last pieces of the iPhone App development puzzle (before you start testing on an actual device that is) is the iPhone Simulator (pictured above). At any time during the development process you can build and test a version of your iPhone App and run it in the iPhone Simulator. It’s pretty nifty and easy to use.
- Online Tutorials: There are several online tutorials that hold your hand, step by step, through basic iPhone application development:
- Your First iPhone Application (Apple’s introductory tutorial). This includes a terrific step-by-step description of the basic bootstrap process. I wish I had read this one a lot earlier than I did. It answered a lot of my initial “what the?” questions. Note: You will need to be logged into the iPhone Development Center to access this.
- icodeblog Tutorials: A computer science student named Brandon at the University of New Mexico has been posting useful iPhone App development tutorials on his icodeblog blog. His forum allows would-be iPhone developers to discuss his tutorials and learn from each other. His tutorials have been invaluable to my learning process.
- Cocoa Touch Tutorial: iPhone Application Example – [video version] (Cocoa is my Girlfriend);
- Other Online Resources:
- Hand Picked iPhone Application Development Resources (iPhone Toolbox)
- 100 Free Courses & Tutorials for Aspiring iPhone App Developers (Best Universities)
- SQLite Manager Firefox Add-on: Not all iPhone Apps require/use databases. My first simple application does. The iPhone SDK contains, and the iPhone uses, SQLite to handle your iPhone App database needs. If you use Firefox, I recommend this SQLite Manager add-on to create, modify, populate and manage the database tables your iPhone application will need. It is much easier than working with databases via the Mac command line interface. Save the resultant tables in your xCode project directory and, voila, they are available to your iPhone App.
- Testing Apps on iPod Touches or iPhones: I have yet to completely unravel all the mysteries of testing iPhone Apps on my personal iPhone, becoming a certified iPhone Developer, let alone submitting an app for approval and inclusion on the App Store. At a minimum you’ll need to join the “iPhone Developer Program” ($99 for most of us). Paying your $99 does not mean you’ll be automatically approved to distribute your app through the App Store. Frankly, I’m not ready yet anyway. But it will let you test your apps on your iPod Touch/iPhone and allow you to distribute it to up to 100 friends to test as well. The process is described in detail in the Erica Sudan text (see above) and also in this online description:
- iPhone SDK Mobile Provisioning (Ralf Rottman): Soup to nuts description of how to join the iPhone developers program, obtain certificates, test apps on devices, etc.
- Getting Started with iPhone Development (Ed Burnette): Basic intro into the subject.
When my simulator testing is done I’ll venture down that path and update this post accordingly.
I’ll continue to update this post (or write new ones) from time to time if/when I find more useful iPhone App development resources, blogs, forums and as I learn more about the developer certification and App Store submission process.
I’d appreciate any useful resource suggestions that other iPhone App developers can make in the comments below. In particular, if there are other blogs/tutorials out there like the icodeblog, I’d really like to hear about them.
Actually, you don’t need to shell out $99 to get access to those links. The $99 is to join the developer program in order to get the code certificate, test apps on your phone and release them through the appStore.
That’s odd Jason:
I wasn’t able to access the links without first subscribing? I wonder if its a Canada / U.S. thing. Or maybe I missed something. Whenever I navigate to the iPhone Dev Center here:
http://developer.apple.com/iphone/index.action
All the links remain unavailable until I login and I was only able to login after paying the fee. Do you h ave another link that you can provide here where users can access those resources without being loged in?
…Dale
Few things have frustrated me more than having what I feel are great applications for IT, while not having the wherewithal to produce them in the real world. Few things are more encouraging than the 60s-era, share the wealth kind of information provided in this article, and on the iCodeBlog.
I’ve been working on a geo-navigable database of humanitarian, environmental and social justice organizations. The iPhone, and several other gps-enabled mobile devices, make it possible for information in this kind of database to be leveraged in a matter that could radically change how such organizations receive donations and promote their missions.
There are a ton of games written for mobile phones, and the private sector will surely get its butter from the duck, where these new technologies are concern. That’s great. I just want to thank people like you Dale and Brandon, for helping to make these technologies more accessible to some of us tree hugging, bleeding heart, non-tech-types, who may be delusionally hell bent on making this a more fun planet to live on.
I didn’t have to pay to get access either. Just get a free subscription to their developer program, and you’re in! You can download the SDK, develop iPhone apps using Xcode, and test your app with the simulator. You can NOT, however, test your app with a real device or actually sell your app until you are accepted to the paid program and pay your money.
Cocoa is not Apple’s proprietary version of Objective C. Objective C is a language that Apple uses. They’ve developed a framework using Objective C for you to develop applications with, and they call that framework Cocoa.
Thanks Glenn … this kind of sharing and the IT world’s history of open-source co-operation is part of the reason I love IT and the IT community so much.
Henning … perhaps I should have called it their proprietary or inhouse framework rather than ‘version’.
Thanks for the clarification.
Cheers.
I’m with Henning – just get a free subscription and you are in.
I have since paid the membership fee as I now have an application to test and distribute. I eagerly await acceptance to the program.
Jason, how long did it take you to get whatever approval and certification is needed to test your app on your iPhone. So far I received a “we’ll get back to you later” message from Apple after paying my $99 but they haven’t gotten back. So I can’t test anything out on my iPhone yet.
…Dale
Dale,
Good post. I didn’t know about the sqlite plug-in for firefox. I will definitely be giving that a try!
Having been through a similar process (I’m an old C++ developer who drifted into management & wanted to get my hands dirty again), I think your summary is spot on.
A few updates/additions for you & your readers:
– It took me about 2+ weeks to hear back from apple with my acceptance. That was back when the 3G first came out though, so I’m not sure if the wait is getting better or worse.
– Registering for the certificate which allows you test your apps on your personal devices was pretty easy & a process I completed in about an hour. There is a step by step guide available from the portal (once you’re approved):
http://adcdownload.apple.com/iphone/iphone_os_software_preinstallation_advisory/iphone_developer_program_user_guide__standard_program_v2.0.pdf
– Here’s another great tutorial site similar to the iCodeBlog:
http://www.iphonesdkarticles.com/
Dale,
Thank you for your post. I bought my first Mac ever in August and I’m going through the same pains as you are, Dale. Pretty much everything you said I agree with you and I feel we are going though the same pains. I’ve been doing PC development for about 20 years now. I remember my first shareware apps back in 1991 and distributing them through BBS’s back then.
I have never been excited since my first shareware app was sold back in 1991 since then. Until I saw the opportunities with the iPhone and how exciting this is.
Adam:
Thanks for that info! Sorry it took a few days for your comment to make it through moderation. I made a few tweaks to my comment system so I hope more legitimate posts like yours will get through automatically while still keeping the spam at bay. I’ll definitely be checking your links out soon. My law practice has kept me away from my iPhone development for a week. I hope to get back into it soon. I’m starting to think my applicatio didn’t go through because I’ve heard nothing from Apple now in almost 4 weeks.
Thomas:
We are kindred spirits! 🙂
> how long did it take you to get whatever approval and certification is needed to test your app on your iPhone?
It was all approved within 24 hours.
And after a bit of messing around to get the certificates all sorted out, my first application is now ‘In Review’ with the nice folks at AppStore.
Hi,
The link
http://adcdownload.apple.com/iphone/iphone_os_software_preinstallation_advisory/iphone_developer_program_user_guide__standard_program_v2.0.pdf
is not active anymore it seems.
I have read lot about other’s experiences with the apple developer program for iPhone. But there is no official document from Apple that clearly states the developer certification process. Please help.
Mahesh, As requested, I updated the original post to include links to detailed descriptions of the certification process, including this one:
http://www.talentgrouplabs.com/blog/archive/2008/11/10/iphone-sdk-mobile-provisioning-0xe800003a-0xe8000001.aspx
…Dale
I applied to the iPhone Developer Program on Sept 15th and still have not heard from them. Is it taking this long for anybody else?
Linh, perhaps you experienced what I experienced. I too thought I applied and paid the $99 for the program back in August. But when I looked back at my credit card statements, it somehow didn’t go through. Apple never charged me. Take a look at your statements. If you were not charged, you may need to try it again.
Thanks Dale,
I'm about to take a similar plunge having come from the PC world of programming for the last 20 years. You have saved me many hours of googling. It was about 2 weeks ago when my friend bought an iPhone 3G and I started to innocently play around with it. When I checked out App store and saw how easy it was to download and install an application I was blown away. When I checked out the top 25 list and saw an application called iFart at the top for .99 I suddenly realized how insane this environment is. I can only imagine how much money the iFart developer has made for something so silly. Incredible! Although I'm late to the game I think its still early and hope to add my .2 cents. If only I can overcome this aversion to Mac – like you, whenever I've messed around on it I come away thinking Windows isn't that bad. But maybe after using it day in and day out I'll have a different attitude.
Very Helpful indeed Thank you.
Regards from Nepal.
Willem, I've been using it day in and day out since August and it still drives me nuts … but, alas, I'm starting to come to terms with the Mac environment. It will never be as easy for me to use as a Windows PC but I've figured out most of it.
Very informative and helpful post Dale. Thanks a lot. I'm a Ruby/Perl developer and Objective-C just looks foreign to me. I initially started out in Java but it's been 5 years or so. Thanks again, I look forward to getting these books.
-Johnny
Happy I could help. If you have NO C background at all, I'd start with an online C primer. If you find a good one let us know. I don't know one off hand, the w3schools.com site which is great doesn't seem to have one fro C. Then this online “Object-Oriented Programming with Objective-C”: overview was extremely helpful
http://developer.apple.com/iphone/library/docum…
after that I'd go through the hillegass book to get into basic objective c follwed by the Mark/LaVarche 'Beginning iPhone Development”.
I've always been interested in Ruby. I want to do a lot more online development. Let me know if you know of any intros to Ruby that would make sense for someone with my kind of background.
Good luck.
Thanks Dale. I also found this screencast which should be a nice help for Rubyists, http://peepcode.com/products/objective-c-for-ru….
I really enjoy programming in Ruby. I never bought a book, learned everything through projects (mainly Ruby on Rails) and reading the documentation. I would literally just go to http://www.ruby-lang.org/en/ and see what you think about the language after testing it out.
How is the iPhone development going for you now after a few months?
I have no idea how to program anything. Never done it in my life. Have been close enough to technology and programing, but not near enough to code.
But I do have some great (I think) ideas on apps that could be ideal for iPhone. Am looking to partner with someone to build this.
Can someone help pl?
Psalil,
Most iPhone developers are independant developers. My suggestion is find some iPhone Apps you like, go to the websites of the developers (they are all linked into the iPhone Apps page on iTunes) and approach them. If you are willing to finance a development project, you could probably drum up lots of interest out there.
…Dale
Thanks Dale. Will try.
Psalil
@Dale
Very useful post.
I have a similar background than you. I worked a lot in C and Visual Basic. I've been teaching for the last 5 years in New Zealand at a Polytechnic (tertiary level). Unfortunately Polytechnics treat tutors/lecturers like a sausage machines. You jump from one class to another with very little time to innovate or learn new things.
So, I am eating my “family hours” trying to learn new things to became a full-time freelancer. One of the markets I am looking at is the mobile market. I started by looking at the Qt libraries and the Qt creator tools (recently acquired by Nokia), but I am not 100% sure if it is the right move.
Has your iPhone experience being good? As a lecturer I don’t have money to spare in a Mac and an iPhone/iPodTouch. I want to be 100% sure before making the move.
@Dale
Very useful post.
I have a similar background than you. I worked a lot in C and Visual Basic. I've been teaching for the last 5 years in New Zealand at a Polytechnic (tertiary level). Unfortunately Polytechnics treat tutors/lecturers like a sausage machines. You jump from one class to another with very little time to innovate or learn new things.
So, I am eating my “family hours†trying to learn new things to became a full-time freelancer. One of the markets I am looking at is the mobile market. I started by looking at the Qt libraries and the Qt creator tools (recently acquired by Nokia), but I am not 100% sure if it is the right move.
Has your iPhone experience being good? As a lecturer I don’t have money to spare in a Mac and an iPhone/iPodTouch. I want to be 100% sure before making the move.
I'm glad you find the post useful. Personally I haven't worked on my app since January. I still have hopes that I'll get back to it 'soon'. Life keeps getting in the way. I also find I have hundreds of blog posts in my head aching to get out. I find myself spending the free time that I have doing that. But, I haven't given up.
As you can see from my related posts, you can do iPhone development on a Mac Mini and, unless you intend to develop a phone-specific app, the iPod Touch should be all you need for your development work.
You can also get a VERY long way without using an iPhone or an iPod Touch with the simulator alone. However, I think its very much the case that you can't really understand how to develop an iPhone/iPod Touch app without using the device in your day to day life.
Very informative article and lots of good tips for starting. However, even a great web programmer may have some trouble getting into Cocoa and obj C. Sometimes the best thing to do is just hire a qualified developer.
Dale, just like the mac mini post, i find this post very informative. I can almost hear you scream in agony going through the mac and OOP at the same time. i finds it quite hilarious and entertaining. sorry.
I, myself, are no programmer, the last program i have ever written was like 17 years ago in pascal during high school!! I am a pilot and have always try to stay away from any sort of codes. the only code that i can still be able to read are php and css. and now i wanted to write my iphone application so you can imagine what kind of craziness i am going through.
Therefore, i find all your links and comments very very useful. i will have to come back alot more frequent to check on updates. thx, mate.
You bet … I constantly want to slap my Mac! 🙂
The MOST frustrating things are still the lack of a the File/Edit/View toolbar across the top of each program and the keyboard shortcuts being different. It drives me insane. I swtich back and forth between the PC and Mac all day and the MAC is like pulling teeth. I can't do anything quickly because the keyboard shortcuts are either non-existant or different. Where they are different I'm learning them, but where they don't exist, I wonder how MAC people get around their PC's quickly. Takes me so much longer to do ANYTHING on the MAC. But its otherwise a troublefree machine that runs 24/7 all day every day. It's only crashed 2 or 3 times since last August.
Good luck with your iPhone endeavours. I dipped my toe back in yesterday for the first time since December. I'm hoping to make some headway this week. But, I find I need to relearn so much. I can't believe how much I have forgotten in four months!
🙂 … Dale
Hello.. I am also new to this iPhone development. my idea was to develop a news feed on iPhone platform. This app will make use the push technology which is in the 3.0. The app is basically will push newly added information to iphones so that every user are instantly informed. So, how should i get started. By the way, is the push technology already available for developer.
Haniff,
Your idea bumps up against one of the iPhone limitations. It does not allow for apps to run persistantly and constantly be pulling in data. This has been one of the chief complaints of developers. Apple limits this because to allow apps to constantly be polling for new info requires constant use of the radios – and hence fast battery drainage. Apple had promised a compromise technology that was supposed to be released last fall. It wasn't. I believe there is something in the next version of the OS that will accommodate apps like yours somewhat. But I haven't kept up on the latest. A few google searches on the features of the pending iPhone OS should yield relevant info for you.
…Dale
thanks Dale.. Apple said something about the Push Notification Service that will be available in the iPhone OS 3.0..perhaps for now i need to register for the developer program to get access to the SDK 3.0 that is not free for the moment.
hello again, what tool do i need to use if i want to get the information from the website to display in the iPhone app. For example, a blog. When i add new blog post in the website through the computer web browser, it can be displayed inside the iphone app. In other word reading blog post using an iPhone app.
My app doesn't access the web at this point so I haven't explored the web-access classes. But the textbooks I recommend above have chapters on that topic I believe.
Awsome article and I totally agree with you on the need for OOP in everyday life.
I plan on following your lead on this – first I have to buy that pesky Mac 🙁
I have the greatest app Idea ever and have been reading on how to develop iphone apps for a week but my programing skills are limited to html some php and java I don't think I'm going to be able to do this before someone else uses the concept of mine!
I feel your pain Adam. There are at least a half dozen apps in the app store now that are of the same type as the one I intended to create – but none (last time I checked) are anywhere near as good as what I have in mind. But the barriers to entry have still kept me from competing my app. I haven't thrown in the towel completely. Have you searched the app store to be certain what you have in mind hasn't already been tackled in the 50,000ish apps already out there?
i am a poser hacker who only knows html and intermediate perl. no experience w C or C++ ect. i'm wonderong were to start to get up to speed?
hunter
If you want fully customizable shortcuts for all sorts of things you should consider Quicksilver, by Blacktree. When it's running on your Mac you will be able to define your own shortcuts for a variety of actions that don't exist by default. It takes a while to make it really work, but if you use shortcuts that much it could certainly be worth it. I stopped using it just because I found I never really used the shortcuts I defined.
Thanks Eric, I'll look into Quicksilver. Can you set shortcuts system wide with Quicksilver? For example, I can, and have, changed shortcuts in Xcode. That worked great. But when I use any other app or system utility those shortcuts are gone. It's frustrating. But at least in XCode I can work in a productive manner.
Really a great article on iPhone App Dev.
I haven't been programming for some years now, but have programmed in C, C++ and Java. I decided to get back into it due to an idea and have found, after some raeding, that the iPhone would be the ideal platform.
Your article really gives me a good idea of what i'm getting into here and I found it very helpful!
Now to go buy a Mac, as like you, i've worked purely on the Windows end through my career.
Macs slogan should be “Mac: We'll get ya on our side sooner or later.”
Ha! I don't think they'll ever get me on their side. I can certainly appreciate the Mac and all things Apple, using my Mac still drives me nuts 11 months after purchasing it. Good luck.
This is a really great blog. A business partner and I are endeavoring to create an application for the IPhone. It is going to be a totally new experience for both of us, so this blog is a life-saver. Really, we are going to kind of follow the path you have laid out. I am currently a object oriented computer programmer. Mostly web applications and websites created in c#/visual basic. Done a little in php. In turn, Objective-C syntax will surely be a huge transition for me. I have read a little on c++. This blog has given a good foundation of where to go for answers though. Thanks
Hello all:
Just wanted to leave a comment here to let you know that this week I'm back into development hot and heavy again. I solved an implacable problem I had since last January (how to rotate between two base views in an application creating my own customized navigation bar that I place onto the view programatically). Whoo hoo!
So, I'm heavy back into the Beginning iPhone Development text again and this time I feel like I have everything I need to know to finish my app. So, I'm hoping August will allow me to do that – finish my first app. Whoot!
I can't tell you how happy I am that Mark and LaMarche wrote that text. It's perfect for me.
…Dale
Dale,
Thanks for the great post. I found it when looking for the minimum mac hardware I would need. You answered many of the other questions I had as well, you really saved me a lot of time.
Good luck on your first app, glad to see you are back at it.
u have done good job for the i fone starters.
hi Dale Dietrich
This Article is the Great! I have already told all of my friends and co workers about it! iPhone is the greatest phone ever as well as posted in my blog.
Thanks for the hat tip.
Smith Williams
Just wanted to say thanks for this blog entry.
The iPhone sounds like a great platform for individual developers to let out their creativity (and hopefully earn some decent income), but like so many others, I am not at all familiar with the specific technologies needed for iPhone development (Mac, Cocoa, Objective-C, etc.). This blog is a great starting point, and I am very pleased to have stumbled onto it.
Again, my thanks to you Dale. Good luck on finding the time to finish off an application or three. I will try to do the same.