Table of Contents

Preface

1 Device-Specific Development

Accessing Basic Device Information

Adding Device Capability Restrictions

Recipe: Checking Device Proximity and Battery States

Recipe: Recovering Additional Device Information

Recipe: Using Acceleration to Locate “Up”

Working with Basic Orientation

Retrieving the Current Accelerometer Angle Synchronously

Recipe: Using Acceleration to Move Onscreen Objects

Recipe: Accelerometer-Based Scroll View

Recipe: Core Motion Basics

Recipe: Retrieving and Using Device Attitude

Detecting Shakes Using Motion Events

Recipe: Using External Screens

Tracking Users

One More Thing: Checking for Available Disk Space

Summary

2 Documents and Data Sharing

Recipe: Working with Uniform Type Identifiers

Recipe: Accessing the System Pasteboard

Recipe: Monitoring the Documents Folder

Recipe: Presenting the Activity View Controller

Recipe: The Quick Look Preview Controller

Recipe: Adding a QuickLook Action

Recipe: Using The Document Interaction Controller

Recipe: Declaring Document Support

Recipe: Creating URL-Based Services

Summary

3 Core Text

Core Text and iOS

Attributed Strings

Recipe: Basic Attributed Strings

Recipe: Mutable Attributed Strings

The Mystery of Responder Styles

Recipe: Attribute Stacks

Recipe: Using Pseudo-HTML to Create Attributed Text

Drawing with Core Text

Creating Image Cut-Outs

Recipe: Drawing Core Text onto a Scroll View

Recipe: Exploring Fonts

Adding Custom Fonts to Your App

Recipe: Splitting Core Text into Pages

Recipe: Drawing Attributed Text into a PDF

Recipe: Big Phone Text

Summary

4 Geometry

Recipe: Retrieving Points from Bezier Paths

Recipe: Thinning Points

Recipe: Smoothing Drawings

Recipe: Velocity-Based Stroking

Recipe: Bounding Bezier Paths

Recipe: Fitting Paths

Working with Curves

Recipe: Moving Items Along a Bezier Path

Recipe: Drawing Attributed Text Along a Bezier Path

Recipe: View Transforms

Recipe: Testing for View Intersection

Summary

5 Networking

Recipe: Secure Credential Storage

Recipe: Entering Credentials

Recipe: Handling Authentication Challenges

Recipe: Uploading Data

Recipe: Building a Simple Web Server

Recipe: OAuth Utilities

Recipe: The OAuth Process

Summary

6 Images

Image Sources

Reading Image Data

Recipe: Fitting and Filling Images

Recipe: Rotating Images

Recipe: Working with Bitmap Representations

Recipe: Basic Image Processing

Recipe: Image Convolution

Recipe: Basic Core Image Processing

Capturing View-Based Screen Shots

Drawing into PDF Files

Recipe: Reflection

Recipe: Emitters

Summary

7 Cameras

Recipe: Snapping Photos

Recipe: Enabling a Flashlight

Recipe: Accessing the AVFoundation Camera

Recipe: EXIF

Image Orientations

Recipe: Core Image Filtering

Recipe: Core Image Face Detection

Recipe: Sampling a Live Feed

Summary

8 Audio

Recipe: Playing Audio with AVAudioPlayer

Recipe: Looping Audio

Recipe: Handling Audio Interruptions

Recipe: Recording Audio

Recipe: Recording Audio with Audio Queues

Recipe: Picking Audio with the MPMediaPickerController

Creating a Media Query

Recipe: Using the MPMusicPlayerController

Summary

9 Connecting to the Address Book

The AddressBook Frameworks

Recipe: Searching the Address Book

Recipe: Accessing Contact Image Data

Recipe: Picking People

Recipe: Limiting Contact Picker Properties

Recipe: Adding and Removing Contacts

Modifying and Viewing Individual Contacts

Recipe: The “Unknown” Person Controller

Summary

10 Location

Authorizing Core Location

Recipe: Core Location in a Nutshell

Recipe: Geofencing

Recipe: Keeping Track of “North” by Using Heading Values

Recipe: Forward and Reverse Geocoding

Recipe: Viewing a Location

Recipe: User Location Annotations

Recipe: Creating Map Annotations

Summary

11 GameKit

Enabling Game Center

Recipe: Signing In to Game Center

Designing Leaderboards and Achievements

Recipe: Accessing Leaderboards

Recipe: Displaying the Game Center View Controller

Recipe: Submitting Scores

Recipe: Checking Achievements

Recipe: Reporting Achievements to Game Center

Recipe: Multiplayer Matchmaking

Recipe: Responding to the Matchmaker

Recipe: Creating an Invitation Handler

Managing Match State

Recipe: Handling Player State Changes

Recipe: Retrieving Player Names

Game Play

Serializing Data

Recipe: Synchronizing Data

Recipe: Turn-by-Turn Matchmaking

Recipe: Responding to Turn-Based Invitations

Recipe: Loading Matches

Recipe: Responding to Game Play

Recipe: Ending Gameplay

Recipe: Removing Matches

Recipe: Game Center Voice

GameKit Peer Services

Summary

12 StoreKit

Getting Started with StoreKit

Creating Test Accounts

Creating New In-App Purchase Items

Building a Storefront GUI

Purchasing Items

Validating Receipts

Summary

13 Push Notifications

Introducing Push Notifications

Provisioning Push

Registering Your Application

Recipe: Push Client Skeleton

Building Notification Payloads

Recipe: Sending Notifications

Feedback Service

Designing for Push

Summary

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.65.65