Core Data Part 2: Update, Delete Managed Objects and View Raw SQL Statement

This is the second article for our Core Data series. Previously, we gave you a brief introduction of Core Data and created a simple app to store all your device information. However, we only showed you how to insert records into data store through Core Data API and left out the update & delete operations.

In this tutorial, we’ll continue to work on the app and focus on the following areas of Core Data:

  • Updating or deleting an object using Core Data API
  • Viewing the raw SQL statement for debugging purpose

[Read more...]

iOS Programming 101: Intro to MapKit API and Add an Annotation on Map

A month ago, we covered how to use Core Location framework to retrieve the user’s location. We also showed you how to convert the GPS coordinate into an address. However, the best way to show a location is to pin it on map. Thanks to the MapKit API. It lets programmers easily work with the built-in Maps and pin a location.

The Map Kit framework provides an interface for embedding maps directly into your own windows and views. This framework also provides support for annotating the map, adding overlays, and performing reverse-geocoding lookups to determine placemark information for a given map coordinate.
- iOS Developer Reference

MapKit is a neat API, comes with the iOS SDK, that allows you to display maps, navigate through maps, add annotations for specific locations, add overlays on existing maps, etc. In this tutorial, we’ll walk you though the basics of the API and show you how to place a pin on the map. As usual, rather than going through the theory, we’ll work on a simple app. Through the practice, we hope you’ll get a better idea about MapKit.

Let’s get started.
[Read more...]

Back To Basics: Intro to Object Oriented Programming

If you’re our long time follower, you know we’ve gone pretty far. By now, you should be able to build an iPhone app with tab bar, navigation controller and table view using Storyboard. One request on the top of my list, however, is to enhance the detail view of the Recipe app. Many readers mentioned the original detail view is too plain. How can we display more information including an image? That shouldn’t be difficult if you understand the materials and I intentionally left out that part for you at the time I wrote the tutorial. :-)

Did you manage to create your own detail view for the Recipe app? Anyway, we’ll revisit it and show you how to improve the detail screen. But before that, I have to introduce you the basics of Object Oriented Programming. In the next tutorial, we’ll build on top of what we learn in this tutorial and enhance the detail view screen.

Don’t be scared by the term “Object Oriented Programming” or OOP in short. It’s not a new kind of programming language but a programming concept/technique. I intentionally left out the OOP concept when I first began writing the iOS programming tutorials. I want to keep thing simple and show you (even without any programming background) how to create an app. I don’t want to scare you away with technical term. However, I think it’s time to cover the concept. If you’re still around reading this article, I believe you’re determined to learn iOS programming and you want to take your app to the next level.
[Read more...]

Storyboard Tutorial: Create Tab Bar Controller and Web View

This is the third article of the Storyboards series. Last time, we discussed how to pass data between view controllers with segue. It should be easy, right? Now let’s continue to polish our Storyboard project and see how you can create to two other common UI elements in iPhone apps.

In this tutorial, you’ll learn:

  • How to Create a Tab Bar Controller
  • How to Create an About page using UIWebView

If you’re new to Storyboards, I suggest you to check out the first tutorial. All the materials discussed in this material are based on the work we’ve done before.
[Read more...]

Storyboards Segue Tutorial: Pass Data Between View Controllers

This is the second article of our Storyboards series. In the first tutorial, we introduced the Storyboards, which is a friendly feature in Xcode for designing user interface. If you’ve followed the tutorial from start to end, you should already build a simple recipe app with navigation interface. But we left one thing that was not discussed: data passing between scenes (i.e. view controllers) with segue.

First, let’s take a quick look at what we’ve accomplished. Previously, we learnt to use Storyboards to build a few things:

  • Embedded a normal view controller in navigation controller
  • Created a table view and populate a list of recipes
  • Switched from one view controller to another view controller using Segue

And, this is the final deliverable. When the app is launched, it displays a list of recipes. Tap on any of them will bring you to another view, that supposes to display the details of recipes.
[Read more...]

How to Add Splash Screen in Your iOS App

Before moving onto another detailed tutorial about Storyboard, I’d like to first answer a couple of questions left in comment or in our forum. One question is:

How can I add a splash screen for my app? Is it difficult to do?

While you may think you need to write code for the splash screen, Apple has made it extremely easy to get it done in Xcode. No coding is required. What you just need to do is to make a couple of configuration in Xcode.

What’s Splash Screen?

For those who are new to programming and haven’t heard of the term “Splash Screen”, let me first give a brief explanation about it. Splash screen is commonly found in iOS apps, as well as, other desktop applications. This is the first screen you see when launching an application. Usually, splash screen is an image covering the entire screen and disappears after the main screen is loaded. Below figure shows you a few samples of splash screen:
[Read more...]

Enhance Your Simple Table App With Property List

Here comes another weekly tutorial for iOS programming. We already built a very simple table app displaying list of recipes. If you look into the app, all our recipes are specified in the source code. I try to keep the thing simple and focus on showing how to create a UITableView. However, it’s not a good practice to “hard code” every item in the code. In real app, we used to externalized these static items (i.e. the recipe information) and put them in a file or database or somewhere else. In iOS programming, there is a type of file called Property List. This kind of file is commonly found in Mac OS and iOS, and is used for storing simple structured data (e.g. application setting). In this tutorial, we’ll make some changes in our simple table app and tweak it to use Property List.

In brief, here are a couple of stuffs we’ll cover:

  • Convert table data from static array to property list
  • How to read property list

[Read more...]

How To Download Older Version of Xcode

In the previous article, I suggest you to download and install Xcode 4.3.2 for iOS development as all our upcoming tutorials will be written using this version.

A few readers have raised a question about Xcode:

Download refused because I am running Snow Leopard, they want”10.7.3″ which I presume is Lion. I had grief upgrading from Leopard to Snow Leopard and therefor am reluctant to further upgrade. Especially when Apple want cash to help with the problems (out of warrantee). Is it necessary to have Xcode for this course?

In the article, it mentioned OS X 10.7 and up in order to create app, can you explain the reason why Snow Leopard 10.6 will not be work?

Thanks for asking. Yes, Xcode 4.3 only works on Mac OS 10.7.3 (aka Lion). The reason why I recommend you to use this version of Xcode is that it supports the latest version of iOS (i.e. 5.1). However, this doesn’t mean you can’t develop apps on Snow Leopard (i.e. Mac OS 10.6).
[Read more...]

What You Need to Begin iOS Programming

Update: The post is updated to make it compatible with Xcode 5 and iOS 7.

So far over 600 6000 readers have signed up the free iOS tutorials. First, thanks for those joining our community. Before we begin to talk about iOS programming, let’s go through the tools you need to build your first app.

1. Get a Mac

Yes, you need a Mac. It’s the basic requirement for iOS development. To develop an iPhone (or iPad) app, you need to first get a Mac with Intel-based processor running on Mac OS X version 10.8 (or up). Probably you still own a PC, the cheapest option is to purchase the Mac Mini. The retail price of the entry model is US$599 (if you purchase via Amazon, the used model starts at US$490). You can pair it with the monitor of your PC. The basic model of Mac mini comes with 2.3GHz dual-core Intel Core i5 processor and 4GB memory. It should be well enough to run the iOS development tool smoothly. Of course, if you have more budget, get the higher model or iMac with better processing power.
[Read more...]