So, you’ve decided to start making iOS apps and games? It’s rather simple now, and in this article you can learn the basics and find out more about the available tools and about how you should use them. But the technical knowledge alone isn’t enough to start making successful apps – there are also other things you should keep in mind.
When I made by first iOS game, I stumbled upon a number of problems I couldn’t have imagined before. Here are the most important things I learned back then – I hope reading the tips below will help you avoid the mistakes I made:
1. Join Apple’s Developer Program as soon as you can
When I was trying to develop my first iOS game, I thought there was no need to join Apple’s Developer Program and spend $100 on it – I could test my future app on my netbook with the help of a small yet very cool utility. When the game was almost finished, I finally joined the Program and found out that it was a total fail: the game was OK on the netbook, but it was almost impossible to play on the iPhone. If I joined the Program earlier, I wouldn’t have wasted so much time on that app – I had to completely change and fix it. Besides, Apple’s Developer Program has many useful resources that can help beginners a lot. So joining the program as soon as possible is a must.
2. Practice, practice, practice!
If you’re going to start developing games for iOS, you’ll have to start learning Xcode and Objective-C – those are the languages used by iOS, and there’s no other way around it. Reading books and blog posts or watching video tutorials won’t be enough, so if you want to really learn iOS, you’ll have to practice as much as you can and try to implement every trick you read about. While you’re practicing you can use a PC or a netbook, but once you start working on your first project you’ll have to test it on your phone as well.
3. Consult with others
If you think you have a great idea, don’t hurry to develop an app based on it. First of all, consult with your friends and find out what they think about it. Would they download such an app? Are there things they’d like to change? You can start working on your idea and implementing it only if most of your friends say your idea is great. Otherwise, you run the danger of no one being interested in your app when you finally make it and get it into the App Store (and that’s what happened when I made my first app).
4. Get ready – there’s much paperwork!
Developing apps for iOS can be easy, but also time consuming. When you have finally finished your first app, don’t hurry to think that the most difficult part is already behind – you’ll need even more time to get your app into the App Store. Apple has lots of rules and restrictions (and some are really strange!), and there’ll be a lot paperwork before you can see your precious app available on the App Store.
5. Don’t expect too much or you’ll be disappointed
Many beginners think that they can develop a couple of iOS apps, publish them and get rich. If only everything was that easy! Actually, the App Store holds thousands of apps, and the one created by you has to be really, really great to get noticed.
When I made my first iOS game and managed to put it on the App Store, I thought everybody would hurry and download it. But of course it didn’t happen, and for a long time I couldn’t understand why. So you should be aware that your app may not become super-popular overnight.
In Conclusion
I hope that this article gave you some real-world advice on what to expect when developing for the iPhone. There are many tutorials out there, but few seem to be realistic about what to expect and the tasks, paperwork, and processes that are needed to get your app on the App Store and to guide you to ultimate iOS success.
So go forth and create great apps and let us know how it goes!
Thank you for suggesting that even though you may have a great idea, you shouldn’t hurry into developing the app. Taking time to consult with others seems like a great idea. My husband has been thinking about making an app but doesn’t know where to start. I think he should look into taking some training classes so he can make sure he is doing everything correctly.
What he is referring to is learning how to use the Xcode program, learning objective-c or Swift is not enough to start making apps, you still need to learn how to use Xcode to put all the components all together working in harmony . Home pages, splash screens, start up menus, animations etc….
I’m a new developer thinking if I should learn how to make android or iPhone apps first. This post has definitely helped me in gaining more knowledge and helping decide which to choose
but x code isn’t a language?? Pretty sure it’s Swift.
Too much paperwork? I have 3 apps in the App Store… not sure what you mean by a lot of paperwork.
iPhone application development over the years has been known to spearhead innovation in respect of user experience and usability of mobile devices in every sphere f life. No device and OS platform delivers such exceptional functional capabilities as iPhone and iOS. Over the years having acquired a stigma of sophistication and advanced technology iPhone boasts of high customer loyalty and spending for an app purchase. Naturally, iPhone app development companies have a niche presence with sophisticated business clientele in comparison to other platforms.
Wow, a lot of hate on here for this list.
It’s not exactly profound or anything but I think it provides some good basics for beginners to understand before diving in.
Thanks for the write-up.
Thanks for the truth 🙂
Are you serious? 5 things they never tell you?
“Practice”, “Consult”, “Get Ready”, “don’t expext too much”…
this article has absolutely no secrets at all and a lot of its content is wrong (I program apps and use mostly c++ instead of ObjC / you can test your app on hardware without joining the developers program / I would advise not asking friends too often)
The only way for your app to be popular is to figure out a game/app idea the is original. The concept idea dosn’t need to be original but the contend does. A good way is combining many game ideas and making one. Oh and one more thing, a four word phrase that means a lot: Start small, Grow big.
Informative point i have gain many new things about the i phone Apps . I am waiting the next update.
“I like what you guys are usually up too. Such clever work and coverage! Keep up the wonderful works guys I’ve added you guys to blogroll. ” If you love gaming for unity games kindly visit….
mobile app & game development
Hi Amelia, Thanks for good information and way of explaining., This will be really useful about making I phone apps. Thanks for sharing.
Great post Amelia,…
Nice and informative post.
This is awesome. Really helpful article !!
Great article. And most important thing is read developer forums, share ideas, and learn what other iOS developers have to say. There might be simple hacks for lengthier code lines.
How about Mono Touch? It lets you program in C# and use the .Net libraries on iOS. For Windows devs, this is viable alternative.
Are you kidding? Developing iOS apps is “simple”?
If it were simple, I wouldn’t get paid $150,000 / yr. to do so.
Working at McDonald’s is “simple”. Don’t be misleading, it’s incredibly challenging to learn Object Oriented Programming.
Exactly. The worst part, everyone these days thinks that they will eventually hit on luck and come up with riches or celebrity status by doing simple things. It doesn’t work that way, so get used to working hard.
I’m supposed to take development advice from someone who thinks Xcode is a language?
I think there’s a specific language of words used around Xcode that aren’t used in other IDE environments.
Create your own apps today
http://www.java-api.com
AS3 is a sad sad excuse of a language when it comes to performance. I would never create an app in it, we ported over some code to the ipad at my previous job and couldn’t get more very good frame rates. Also its sluggish on the desktop, why would you expect it to perform well on limited hardware using embedded chips? If anything use something like javascript wrappers or Lua wrappers (corona sdk and titanium studio would work if you were so inclined to stay away from objective-c. Or just learn C++ and target web, desktops, mobile(all platforms), consoles, and handhelds.)
Good performance can be achieved with AS3, it just requires fine tuning and very good memory managment.
AS3 is magnificently coherent development environment but the difficulty of using it on iOS is an enduring gift from the late, clever, Steve Jobs.
Jobs’ strategy ensured that iPhone / Objective C developers do not develop portable skills, and his talent pool was stuck within the “walled garder” of Apple products. As Amelia will discover when she tries to bring her game to the billions of devices outside the Apple Store.
Very wrong! As of this date (Feb 2016) AS3 is a lovely language that can produce well-performing apps when used with Adobe’s AIR-for-iOS packager. I know this because I do it all the time. AS3 used in this way has a great advantage over iOS apps created with ‘native’ iOS languages Swift and Obejctive C: after building your app you can push a single button and get both iOS and Android executables out.
AIR-for-iOS (and Android) is, like all tools, to be used when appropriate. There are cases when it’s better to use native Swift, or Java (for Android). You might have to learn how to really THINK about app-building before concluding a tool is right or wrong for you.
Is the author serious about this list?
Okay so lets go through it and point out the good and the bad:
Good:
All the headings of the points are right on the money for what to do.
Bad:
1. The developers program is free for documentation and doesn’t require money but yes it requires money to do device testing and could be done on a jail broken ipod if you truly needed to. (good cheap idea especially if you are just messing around, as to keep the app in the store you need to keep paying Apple so just do it before you release).
2. ” you’ll have to start learning Xcode and Objective-C – those are the languages used by iOS”, if you are going to write an article on a professional site like this then you might want to do your homework. Xcode is not a language, it is the IDE you do development in. Objective-c however is the language and it isn’t the only language that runs natively. C, C++, Objective-c++, and a few scripting languages can but used to create apps (No AS3 should not be considered a good alternative to native app development on mobile, it’s crap). And by the way why do you keep referencing a netbook, you know that macs are not netbooks right? Yes, there have been some advancements to compile cocoa sdk apps on linux but from how this article was written I don’t think you could even figure out how to follow the simple step-by-step process a few blogs would tell you to do so.
3. This isn’t really bad but asking friends usually returns the same results, which is your idea is awesome but I dont like this colour or this name is a bit odd…but the idea is awesome. Try to avoid asking friends too much or at least mix it up and ask random people you meet so you can get some unbiased opinions.
Well written article but the content was really all off, I advise you to research more so you don’t sound stupid as you probably are not.
Objective-C++ is not a language— it’s a filetype/compiler-mode that allows a single file to contain intermixed Objective-C code & C++ code (the syntaxes are distinct enough and they’re both extended off of the much older C language, which is why this intermixing is possible).
Good Post. Thanks Amelia
Regards : Farhan
Great article!
Another thing to note, friends are a terrible source of feedback! No matter how many times you tell them to be honest and harsh, they won’t. The best way is to get a 3rd party to get a group of people to test it. Someone not related to the development team, so the people giving feedback don’t feel as though they need to say what you want to hear. Focus groups etc.
#2 is flat out WRONG; there is a myriad of cross platform development models out there, using HTML5 and JavaScript and they run seamlessly on iPads with zero knowledge of of eithert xcode or Objective C.
Fact check. In a list of 5, one shouldn’t be wrong.
So what your saying is people shouldnt practice?
haha so you are saying that creating a website is the same as writing a native application? How do you expect to make money off of it?
Cordova/Phonegap, Appcelerator etc