PacktLib: Xcode 4 iOS Development Beginner's Guide

Xcode 4 iOS Development

Credits

About the Author

Acknowledgement

About the Reviewers

www.PacktPub.com

Preface

Pop Quiz Answers

Introducing Xcode 4 Tools for iOS Development

Development using the Xcode tools

Inside Xcode, Cocoa, and Objective-C

The iPhone Simulator

Layers of the iOS architecture

Understanding Cocoa, the language of the Mac

The Model-View-Controller

What is Object-Oriented Programming?

What is Objective-C?

Objective-C classes

Introducing the Xcode Developer set of tools

Companion tools and features

Instruments

iPhone OS4 SDK new features

Summary

Introducing the Xcode 4 Workspace

Downloading and installing the iOS SDK

Getting to know the Xcode Development Environment

Time for action – creating your first iPhone application

Introducing the Xcode 4 Workspace Environment

Introducing the Unified Navigation UI

Xcode Workspace Preferences

Summary

Working with the Interface Builder

Getting to know the Interface Builder environment

Time for action – creating the HelloXcode4_GUI application

Time for action – adding object controls to our View

Time for Action – enabling Interface Rotation

Making our Components work together

Time for action – binding Control Objects

Time for action – repositioning the Controls

Time for action – hiding the keyboard

Introducing Document-based applications

Time for action – creating a Document-based application

Time for action – implementing file saving and loading

Summary

Working with the Xcode Frameworks

Introducing the Frameworks

Using Frameworks and APIs in iPhone development

Time for action – creating the Core Data application

Time for action – creating the MusicPlayer application

Time for action – creating the MoviePlayer application

Time for action – making your application location aware

Time for action – creating a simple geographical application

New Framework APIs

Summary

Designing Application Interfaces using MVC

Developing iOS applications using MVC design

Implementing MVC using Xcode and Interface Builder

Time for action – building a Pizza order application

Time for action – binding our Controls using Outlets and Actions

Time for action – declaring input field as a property of View Controller

Creating a view-based application template

Time for Action – creating the FavoriteColor application

Time for action – binding our Controls using Outlets and Actions

Time for action – creating a Table view application

Time for action – grouping row items in our TableViewExample application

Time for action – creating the SwitchesSlidersSegments project

Time for action – binding our Controls using Outlets and Actions

Time for action – creating the ScrollingViews project

Time for action – binding our Controls using Outlets and Actions

Time for action – creating the Date Picker project

Time for action – binding our Controls using Outlets and Actions

Time for Action – creating the Custom Picker project

Time for action – binding our Controls using Outlets and Actions

Time for action – creating application with Text fields, Text Views, and Buttons

Time for action – binding our Controls using Outlets and Actions

Summary

Displaying Notification Messages

Exploring the notification methods

Generating alerts

Time for action – creating the GetUsersAttention application

Time for action – adding the AudioToolbox Framework to our application

Time for action – adding controls to our View

Time for action – implementing the Show Activity Indicator method

Time for action – implementing the Display Alert Dialog method

Using Action Sheets to associate with a view

Time for action – implementing the Display Action Sheet method

Time for action – handling alerts via sounds and vibrations

Summary

Exploring the MultiTouch Interface

Introducing the MultiTouch architecture

Time for action – creating the TapExample project

Time for action – binding our Controls

Time for action – creating the SwipeExample project

Time for action – creating the PinchExample project

Time for action – creating the ShakeExample project

Time for action – implementing the motionBegan, motionEnded, and motionCancelled methods

Exploring the Accelerometer/Gyroscope

Time for action – creating the OrientationExample project

Time for action – creating the AccelGyroExample project

Summary

Debugging Xcode Projects

Introducing the new and improved Debugger

Creating a new debugging project

Time for action – creating the DebuggingExample project

Running and debugging the project

Time for action – setting up the LLVM compiler

Exploring the new Debugger

Time for action – using the Scheme Editor to define a Scheme

Time for action – running the Static Analyzer

Time for action – configuring your project to perform automatic Static Analysis

Time for action – Detecting a memory leak

Time for action – detecting an instance of an uninitialized variable

Time for action – working with code completion

Time for action – stopping Xcode from alerting you to problems

Summary

Source Code Management with the Version Editor

Introducing the new Version Editor

Time for action – setting up a local Subversion repository

Time for action – configuring the Subversion repository

Time for action – adding our TapExample project to the repository

Time for action – checking out the project from the repository

Using Git to manage multiple projects

Time for action – creating a new Xcode project using Git

Time for action – assigning address book identities within the organizer

Summary

Making your Applications Run Smoothly

Introducing Instruments

Time for action – creating the InstrumentsExample project

Time for action – running and Profiling the project

Adding and configuring Instruments

New Instruments in Xcode 4

Summary

Distributing your Application

Build configurations – debug to release

Time for action – setting up the team

Time for action – generating a Certificate Request

Time for action – getting the certificate

Time for action – registering devices

Time for action – creating the application ID

Time for action – creating the profile

Time for action – creating and deploying the app to an iOS device

Time for action – getting the Distribution Certificate

Time for action – uploading the application icon and screenshot images

Summary

Index