iPhone Tutorials
If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter. Thanks for visiting!
This site contains a ton of fun tutorials – so many that they were becoming hard to find! So I put together this little page to help everyone quickly find the tutorial they’re looking for. Hope you enjoy! :]
Beginning iPhone Programming
If you’re completely new to iPhone programming, start here! First there’s a tutorial series that will walk you through the process of creating an iPhone app from start to finish – using the most common APIs that almost every app uses. Next there’s a tutorial about memory management – the area where beginners most often get confused about!
Also, if you’re a beginner you should sign up for our monthly iOS newsletter – to thank you for signing up, we’ll give you a free copy of the 1st tutorial in the iOS Apprentice series! This is an epic-length tutorial for complete beginners that walks you through creating your first app, and it’s fully updated for iOS 5.
- How To Create a Simple iPhone App on iOS 5 Tutorial: 1/3
- How To Create a Simple iPhone App on iOS 5 Tutorial: 2/3
- How To Create a Simple iPhone App on iOS 5 Tutorial: 3/3
- My App Crashed – Now What? 1/2
- My App Crashed – Now What? 2/2
- Objective-C Cheat Sheet and Quick Reference
- iOS for High School Students: Getting Started
- iOS For High School Students: Text Adventure Game
- Memory Management in Objective-C Tutorial
- How To Debug Memory Leaks with XCode and Instruments Tutorial
- Using Properties in Objective-C Tutorial
- How to Submit Your App to Apple: From No Account to App Store, Part 1
- How to Submit Your App to Apple: From No Account to App Store, Part 2
iOS 5 Tutorials
iOS 5 is one of the biggest updates to iOS so far. It has tons of cool new APIs and features you can use in your apps, from ARC to Storyboards to iCloud to GLKit to much more! We wrote a huge book called iOS 5 By Tutorials that covers everything you need to know, and we’re also releasing some of the chapters here for free!
- Introducing the iOS 5 Feast
- User Interface Customization in iOS 5
- Beginning Storyboards in iOS 5 Part 1
- Beginning Storyboards in iOS 5 Part 2
- Beginning Turn-Based Gaming with iOS 5 Part 1
- Beginning Turn-Based Gaming with iOS 5 Part 2
- Working with JSON in iOS 5
- Beginning iCloud in iOS 5 Tutorial Part 1
- Beginning iCloud in iOS 5 Tutorial Part 2
- iCloud and UIDocument: Beyond the Basics. Part 1/4
- iCloud and UIDocument: Beyond the Basics. Part 2/4
- iCloud and UIDocument: Beyond the Basics. Part 3/4
- iCloud and UIDocument: Beyond the Basics. Part 4/4
- Beginning Twitter in iOS 5
- Beginning ARC in iOS 5 Part 1
- Beginning ARC in iOS 5 Part 2
- Beginning Core Image in iOS 5
- UIKit Particle Systems in iOS 5
- UIGestureRecognizer Tutorial in iOS 5: Pinches, Pans, and More!
- Basic Security in iOS 5 Tutorial Part 1
- Basic Security in iOS 5 Tutorial Part 2
- How To Create a PDF with Quartz2D in iOS 5 Tutorial Part 1
- How To Create a PDF with Quartz2D in iOS 5 Tutorial Part 2
- How To Use Blocks in iOS 5 Tutorial Part 1
- How To Use Blocks in iOS 5 Tutorial Part 2
- How To Create a Rotating Wheel Control with UIKit
- How To Use UIScrollView to Scroll and Zoom Content
Beginning Game Programming with Cocos2D
If you want to make games on the iPhone, the easiest way by far is to use the Cocos2D iPhoneframework! These tutorials will help get you started by showing you how to make some simple games and solve common problems.
In addition to these tutorials, you might be interested in the Cocos2D book by Rod Strougo and myself.
- How To Make A Simple iPhone Game with Cocos2D
- Rotating Turrets: How To Make A Simple iPhone Game with Cocos2D Part 2
- Harder Monsters and More Levels: How To Make A Simple iPhone Game with Cocos2D Part 3
- How To Make a Tile Based Game with Cocos2D
- Collisions and Collectables: How To Make a Tile Based Game with Cocos2D Part 2
- How To Use Animations and Sprite Sheets in Cocos2D
- How To Make a Space Shooter iPhone Game
- How To Create a HUD Layer with Cocos2D
Intermediate Game Programming with Cocos2D
If you’ve finished the Beginning Game Programming tutorials and are itching for some more, check out these tutorials for more advanced techniques!
- How To Create Buttons in Cocos2D: Simple, Radio, and Toggle
- How To Drag and Drop Sprites with Cocos2D
- How To Create A Mole Whacking Game With Cocos2D: Part 1/2
- How To Create A Mole Whacking Game With Cocos2D: Part 2/2
- Introduction to Augmented Reality on the iPhone
- How To Create Dynamic Textures with CCRenderTexture
- How To Create A Game Like Tiny Wings Part 1
- How To Create A Game Like Tiny Wings Part 2
- How To Mask a Sprite with Cocos2D 1.0
- How To Mask a Sprite with Cocos2D 2.0
- How To Integrate Cocos2D and UIKit
- How To Create a Multi-Directional Scrolling Shooter Part 1
- How To Create a Multi-Directional Scrolling Shooter Part 2
- Introduction to A* Pathfinding
- How To Implement A* Pathfinding with Cocos2D
- How to Make a Turn-Based Strategy Game – Part 1
- How to Make a Turn-Based Strategy Game – Part 2
Cocos2D Tools
Create this game with some great Cocos2D tools!
There are some great tools available that make your job as a Cocos2D developer much easier. Check out these tutorials to learn about the tools and how to use them effectively!
- How To Create and Optimize Sprite Sheets in Cocos2D with Texture Packer and Pixel Formats
- How To Build a Monkey Jump Game Using Cocos2D, PhysicsEditor & TexturePacker Part 1
- How To Build a Monkey Jump Game Using Cocos2D, PhysicsEditor & TexturePacker Part 2
- How To Build a Monkey Jump Game Using Cocos2D, PhysicsEditor & TexturePacker Part 3
- How To Use SpriteHelper and LevelHelper Tutorial
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Cocos2D Edition] – Part 1
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Cocos2D Edition] – Part 2
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Cocos2D Edition] – Part 3
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Cocos2D Edition] – Part 4
- Adding iCade Support to Your Game
Advanced Game Programming with OpenGL
The lowest level game programming API available on iOS is OpenGL ES 2.0. It gives you the most power and flexibility, but has a notoriously high learning curve. That’s where this site comes to the rescue – we try to explain it as simply as possible and get you started with some simple examples!
Learn how to make games the hardcore way!
- OpenGL ES 2.0 for iPhone Tutorial
- OpenGL ES 2.0 for iPhone Tutorial Part 2: Textures
- Beginning OpenGL ES 2.0 with GLKit Part 1
- Beginning OpenGL ES 2.0 with GLKit Part 2
- How To Create A Simple 2D iPhone Game with OpenGL ES 2.0 and GLKit Part 1
- How To Create A Simple 2D iPhone Game with OpenGL ES 2.0 and GLKit Part 2
- How To Create Cool Effects with Custom Shaders in OpenGL ES 2.0 and Cocos2D 2.X
Other Game Engines
Learn about Corona, Unity3D, and more!
Other than Cocos2D and OpenGL, there are a lot of other great game frameworks available on iOS. If you want to play around with some of them as well, check out these tutorials!
- How To Make a Game Like Doodle Jump with Corona Tutorial Part 1
- How To Make a Game Like Doodle Jump with Corona Tutorial Part 2
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Corona Edition] – Part 1
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Corona Edition] – Part 2
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Corona Edition] – Part 3
- How to Make a Game Like Jetpack Joyride using LevelHelper and SpriteHelper [Corona Edition] – Part 4
- How To Make a 2.5D Game With Unity Tutorial: Part 1
- How To Make a 2.5D Game With Unity Tutorial: Part 2
- How To Make a Simple iPhone Game with Flash CS5
Game Physics
It turns out there are some great libraries available out there that you can use to easily add physics to your games – without having to be a math expert! These tutorials will show you how to get started with these libraries so you can use them to create amazing effects in your games!
- Intro to Box2D with Cocos2D Tutorial
- How To Create a Simple Breakout Game with Box2D and Cocos2D Tutorial: Part 1/2
- How To Create a Simple Breakout Game with Box2D and Cocos2D Tutorial: Part 2/2
- How To Use Box2D for Just Collision Detection
- How To Create A Simple iPhone Game with Chipmunk Physics Tutorial
- Intermediate Box2D: Physics, Forces, Ray Casts, and Sensors
- How To Make a Catapult Shooting Game with Cocos2D and Box2D Part 1
- How To Make a Catapult Shooting Game with Cocos2D and Box2D Part 2
Other Game Programming Topics
While we’re on the topic of game programming, here are a few posts with some tips and tricks for game developers.
- Game Analytics 101
- 5 Things I Learned Making My First iPhone Game
- How To Generate Game Tiles with Python Imaging Library
- How To Host a Beta Test for your iPhone App
- A n00bs Guide to Making a Beta Signup Form with PHP and WordPress
- Introducing VickiWenderlich.com: Free Art and Artist Tutorials
Saving and Loading Data
Almost every app needs to save and load data on the iPhone – and there are many different ways to do so. In these tutorials, you can get hands-on experience with many of the most common methods.
- How To Choose the Best XML Parser for your iPhone Project
- How to Read and Write XML Documents with GDataXML
- SQLite 101 for iPhone Developers: Creating and Scripting
- SQLite 101 for iPhone Developers: Making Our App
- Core Data on iOS 5 Tutorial: Getting Started
- Core Data on iOS 5 Tutorial: How To Preload and Import Existing Data
- Core Data Tutorial: How To Preload and Import Existing Data (pre iOS 5 version)
- Core Data on iOS 5 Tutorial: How to use NSFetchedResultsController
- How to Save Your App Data with NSCoding and NSFileManager
- How to Integrate iTunes File Sharing with your iOS App
- How to Import and Export App Data via Email in your iOS App
Graphics and Animation
In order to be successful on the App Store these days, your app needs to look good. Here are a few tutorials that you can use to up the quality level of your apps, and your gain mad skills with graphics and animation programming.
- Core Graphics 101: Lines, Rectangles, and Gradients
- Core Graphics 101: Shadows and Gloss
- Core Graphics 101: Arcs and Paths
- Core Graphics 101: Glossy Buttons
- Core Graphics 101: Patterns
- How to use UIView Animation Tutorial
- UIView Animation Tutorial: Practical Recipes
- Introduction to CALayers Tutorial
- How to Write a Custom Image Picker like UIImagePicker
- How to Make a Custom UIView: a 5-star Rating View
- Beautiful Table View Helper Class
- How To Create a Simple Magazine App with Core Text
Network Programming
You can take your app to the next level by integrating with a server-back end or allowing networking between devices. These tutorials show you how!
- How To Make a Simple Multiplayer Game with Game Center Tutorial: Part 1/2
- How To Make a Simple Multiplayer Game with Game Center Tutorial: Part 2/2
- Apple Push Notification Services Tutorial: Part 1/2
- Apple Push Notification Services Tutorial: Part 2/2
- How To Write A Simple PHP/MySQL Web Service for an iOS App
- How To Write An iOS App That Uses A Web Service
- How To Create A Socket Based iPhone App and Server
- How To Make a Multiplayer iPhone Game Hosted on your Own Server Part 1
- How To Make a Multiplayer iPhone Game Hosted on your Own Server Part 2
Making Money
There are certain technologies and techniques you can use in your apps that can directly help you make ‘mo money! And although money can’t buy happiness, you gotta pay for your beer somehow amirite?
- Introduction to In-App Purchases
- How To Integrate iAd into Your iPhone App
- How To Localize an iPhone App Tutorial
- How To Integrate AdWhirl into a Cocos2D Game
- How To Market and Promote Your Games and Apps Part 1/4
- How To Market and Promote Your Games and Apps Part 2/4
- How To Market and Promote Your Games and Apps Part 3/4
- How To Market and Promote Your Games and Apps Part 4/4
Audio
When I first started iOS programming, I knew a WAV file played sounds and that was about it. These posts explain a lot about audio files and formats, and explain how you can play audio in your apps.
- Audio 101 for iPhone Developers: File and Data Formats
- Audio 101 for iPhone Developers: Converting and Recording
- Audio 101 for iPhone Developers: Playing Audio Programatically
iPad Development
If you know how to program for the iPhone, it’s a simple matter to program for the iPad as well! These tutorials walk you through some of the differences and help get you started with some of the new APIs available on the iPad.
- iPad for iPhone Developers 101: UISplitView Tutorial
- iPad for iPhone Developers 101: UIPopoverController Tutorial
- iPad for iPhone Developers 101: Custom Input View Tutorial
- How to Port an iPhone Application to the iPad
3rd Party Libraries
There are a lot of third party APIs and SDKs you might want to include in your apps. These tutorials cover a few of them and show you how to get started.
- How to Post on Facebook with your iPhone App
- Hot to Use Facebook’s New Graph API from your iPhone App
- How to Get a User Profile with Facebook’s New Graph API
- How to Post to a User’s Wall, Upload Photos, and Add a Like Button from your iPhone App
- Introduction to Three20
- How to Use the Three20 Photo Viewer
- How to Translate Text with Google Translate and JSON on the iPhone
- How To Make A Simple RSS Reader iPhone App Tutorial
- Unit Testing in Xcode 4 Quick Start Guide
Other iPhone Tutorials
There’s always something that doesn’t fit anywhere else! Here’s a hodgepodge of other posts and tutorials you may find interesting.
- Multithreading and Grand Central Dispatch on iOS for Beginners Tutorial
- How To Make An Interface with Horizontal Tables Like The Pulse News App Part 1
- How To Make An Interface with Horizontal Tables Like The Pulse News App Part 2
- Introduction to MapKit on iOS Tutorial
- iOS Code Signing: Under The Hood
- How to Autocomplete with Custom Values
Android tutorials
Get started with Android development!
This site has just started expanding with some Android tutorials as well. If you’re completely new to developing for Android, these tutorials are a great way to get started!
- Getting Started with Android Development
- Getting Started with Android Development – Part 2
- How To Create a Simple Android Game
- Cocos2D-X for iOS and Android: Getting Started
- Cocos2D-X for iOS and Android: Space Game
Readers Apps Reviews
I thought it would be cool if we highlighted a few of these on the site! This way readers can get more exposure for their apps, and everyone can see what other fellow readers have created. Hence, we have this monthly column where we show off readers apps!
If you would like to be considered for next month’s article, click here!
- Reader’s Apps Reviews – March 2012
- Reader’s Apps Reviews – April 2012
- Reader’s Apps Reviews – May 2012
Training, Announcements, and Notes
From time to time I announce upcoming training, books, and other types of announcements from this site. Here’s the news so far!
- Web Design: Drinking from a Firehose
- What is this Blog About?
- The iPad SDK and NDA
- My Favorite Mac Applications
- How to Move Your WordPress Blog to Linode
- Introducing Tom the Turret Cocos2D Sample Game
- Upcoming Class: iOS Programming 101
- Cocos2D Book and 360iDev
- iPhone 101 for Baltimore Developers
- Beginner iPhone Class Available
- Upcoming Workshop: Cocos2D via Minigames
- Why I’m Ditching iOS and Becoming An Android Developer (April Fools Joke!)
- Cocos2D Book Giveaway (prerelease)
- Cocos2D Book Giveaway Winner (prerelease)
- Looking For Tutorial Writers
- June Workshop: Cocos2D via Minigames
- Cocos2D via Minigames Workshop Update
- Space Game Starter Kit Update
- Learning Cocos2D Book Giveaway (post release)
- Learning Cocos2D Book Giveaway Winners! (post release)
- Space Game Starter Kit Now Available!
- Upcoming Talks and Workshops
- Looking for More Tutorial Writers
- Reminder: Upcoming Cocos2D via Minigames Workshops
- An iOS 5 Surprise Coming Soon!
- iOS Apprentice Complete Series Giveaway
- iOS 5 By Tutorials Update Now Available
- iOS Apprentice Early Bird Discount Ending Soon
- iOS 5 Feast Giveaway Results
- The raywenderlich.com Team
- iOS 5 By Tutorials Final Chapters Now Available
- Merry Christmas 2011
- iOS Marketing Survey
- iOS Apprentice Tutorial 4 Now For Sale!
- Simple iOS App Tutorial Updated for iOS 5
- Jetpack Joyride Tutorial Ported to Corona
- iOS 5 By Tutorials Complete!
- MapKit Tutorial Updated for iOS 5
- Thermometer App Starter Kit Now Available (April Fools Joke!)
- Core Data Tutorial Series Updated for iOS 5
- iOS 5 by Tutorials Now In Print!
Where To Go From Here?
If there’s something you’re interested in learning something that isn’t here, suggest a tutorial! Every week I’ll take the best suggestions and put a vote on the sidebar to let you guys choose what you want to see!
I hope you enjoy these tutorials, and please stay in touch! Please follow me on Twitter, where I tweet on topics related to iPhone, software, and gaming, or subscribe to my RSS feed!