Ray Wenderlich Tutorials

Beginning iPhone Programming
iPhone programming is like a ladybug - fun and only a little scary!
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
Want some iOS 5 Tutorials? We got you covered!
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
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
Ninjas Going Pew-Pew!
If you want to make games on the iPhone, the easiest way by far is to use the Cocos2D iPhone framework! 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
Whack this Mole!
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


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
Create a simple game with Chipmunk 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
Tomato-San says: w00t, it's done!
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
Core Data Failed Banks Model Diagram
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
Welcome to Core Graphics 101!
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
Web Services + iPhone Apps Rule!
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
1) Integrate iAd 2) ??? 3) PROFIT!
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
Screenshot from BasicSounds sample project
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
What it will look like when we're done!
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
I have a soft spot for malteses!
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
Plot Baltimore crime data using MapKit!
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


Training, Announcements, and Notes
One day class introducing iOS programming for beginners!
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!
Reader's Apps Reviews – March 2012
MapKit Tutorial Updated for iOS 5
Thermometer App Starter Kit Now Available (April Fools Joke!)
Reader's Apps Reviews – April 2012
Core Data Tutorial Series Updated for iOS 5