More iPhone Cool Projects - Cool Developers Reveal the Details of their Cooler Apps

More iPhone Cool Projects - Cool Developers Reveal the Details of their Cooler Apps

by: Ben Smith, Danton Chin, Leon Palm, Dave Smith, Charles Smith, Claus Hoefele, Saul Mora, Arne de Vrie

Apress, 2010

ISBN: 9781430229230 , 360 Pages

Format: PDF, Read online

Windows PC,Mac OSX Apple iPad, Android Tablet PC's Palm OS, PocketPC 2002 und älter, PocketPC 2003 und neuer, Windows Mobile Smartphone, Handys (mit Symbian) Read Online: Windows PC,Mac OSX,Linux

Price: 35,30 EUR

More eBook Details

More iPhone Cool Projects - Cool Developers Reveal the Details of their Cooler Apps


 

Title Page

1

Copyright Page

2

Contents at a Glance

4

Table of Contents

5

Preface

10

Acknowlegments

11

Introduction

12

Who This Book Is For

12

What’s in the Book

13

Danton Chin

14

Chapter 1 Using Concurrency to Improve the Responsiveness of iPhoneand iPad Applications

16

Prepare for Concurrency

16

Non-Responsive User Interfaces

19

Building the Interestingness User Interface

20

Adding A JSON Parsing Framework to the InterestingnessApp

23

Composing a RESTful Request for a List of Interestingness Images

23

Using the RESTful Request and the JSON Parser to Parse the Response

25

Implementing the UITableViewDataSource Protocol Methods to Display the Results

27

Concurrency Landscape

29

Considerations When Using Concurrent Solutions

30

Concurrency with NSThread and NSObject

32

Concurrency with Operation Objects

37

NSOperationQueue

38

NSOperation and NSInvocationOperation

39

NSInvocationOperation—Quick and Easy

40

Subclassing NSOperation

40

Building HelloOperationQueues—a Toy Application

41

Building the User Interface for HelloOperationQueues

43

Creating Work Units by Subclassing NSOperation

45

Implementing HelloOperationQueues

46

Changing the Interestingness App to Use NSOperationQueues

50

Implementing the NSInvocationOperation to Fetch the List of interestingness images

52

Implementing FetchImageOperation a Subclass of NSOperation

53

Implementing the getImageForURL: and storeImageForURL:Methods

55

Concurrency with Operation Objects and Blocks

58

Blocks

59

Adding the PLBlocks Framework

61

Changing the Interestingness Application to Use NSOperationQueues and Blocks

63

Converting the Interestingness App to Use an Official Version of Blocks and NSBlockOperation from Apple

66

Summary

66

Resources

67

Apple and Apple-related News

67

Apple Documentation

67

Blocks and Grand Central Dispatch

68

General

69

JSON

69

POSIX Threads

69

Claus Höfele

70

Chapter 2 Your Own Content Pipeline: Importing 3D Art Assets into Your iPhoneGame

72

Starting an iPhone Game

72

Why Write Your Own Tools?

73

Creating a Flexible Content Pipeline

74

The Tools Problem

74

Data Exchange vs. In-Game File Formats

76

Outline of the Example Code

77

Exporting 3D Models

78

Reading FBX files

79

Traversing the Scene Contents

82

Distinguishing between Different Types of Scene Nodes

83

OpenGL Triangle Data

84

Converting FBX Models into Triangle Data

86

Converting Triangle Data into an In-Game Format

89

Handling Textures

92

Image Compression vs. Texture Compression

92

Imagination’s PVRTC Format

93

Reading PNG Images

95

Converting Images into the PVRTC Format

97

Rendering the Converted Data on the iPhone

99

Running the Converter Tool

99

Creating the iPhone Project

99

Summary

100

Ben Kazez

102

Chapter 3 How Flight Track Uses External Data Providers to Power This Best-SellingTravel App

104

Choosing a Data Source

105

API Design

106

Data Coverage and Accuracy

107

Economics

108

Attribution

108

Subscription

108

Transactional

108

Revenue Share

109

Trials

109

Source-Driven User Interface Design

109

Challenges

110

Techniques from FlightTrack

111

Design Patterns for Data Source Consumption

112

Direct-Client Consumption

112

Server-Intermediary Consumption

113

Data-Driven Cocoa App Architecture

114

Data Model Design

114

Connecting Data to UI

115

Delegates

115

Notifications

116

Setter Propagation

117

Choosing an Approach

117

Release!

118

FlightTrack Today

118

Saul Mora

120

Chapter 4 Write Better Code and Save Time with Unit Testing

122

Mock Objects

133

Testing Your Core Data Models

140

Summary

147

Leon Palm

148

Chapter 5 Fun with Computer Vision:Face Recognition with OpenCV on the iPhone

150

What Is Computer Vision?

153

Why Do Computer Vision on an iPhone?

154

Your Project: Creating a Face Detector

155

Setting Up OpenCV

155

Setting Up XCode

158

Adding Image Conversion Functions

160

Creating a Simple GUI

162

Loading Images from the Photo Library

164

Loading the Haar Cascades

165

Performing Face Detection

167

Bonus

169

Performance Tweaking

170

Going Further

172

Summary

173

Scott Penberthy

174

Chapter 6 How to Use OpenGL Fonts without Losing Your Mind

176

History

177

Terminology

178

Pragmatic Fontery

180

fCookie

180

Creating a Font’s Texture Atlas

181

Texture Mapping

184

Opening Your App

186

The Fontery Classes

186

APGlyph

187

APChar

188

APText

190

Putting It All Together

192

Setting Up the Display

194

Creating Your Fortune

195

Displaying the Fortune

197

Summary

200

Ben Britten Smith

201

Chapter 7 Game Development with Unity

203

What Is Unity?

204

Why Use Unity?

205

Exploring the Unity Interface

207

The Scene View

208

The Game View

209

The Project View

210

The Hierarchy View

210

The Inspector View

210

How the Pipeline Flows

210

The Transform: Everybody Has One

211

Meshes, Renderers, and Materials

212

Importing Assets

216

Custom Scripting

217

Playing Your Game

220

Coroutines Not Updates

221

The Game View

222

Adding Lights

225

Using the iPhone as a Game Pad

226

Your Game

227

Adding a Base to Work From

228

The Main Character

230

Inputs and Colliders

236

Your First Design Iteration

240

Adding More Touchable Objects

242

Prefabs

243

Animations

244

Animation Import Settings

245

Interacting with Something Besides the Floor

249

User Interface

252

Multiple Cameras

253

3D Objects As GUI Items

255

Building for Your Device

259

Summary

260

Chuck Smith

261

Chapter 8 Cocos2d for iPhone and iPad

It Is Easier than YouThink263

Origins of Cocos2d

263

Why Use Cocos2d?

264

Getting Started with Cocos2d

264

Installing Cocos2d

266

Configuring Sample Code

266

Installing the XCode Project Templates

267

Starting a New Project

268

Introduction to Video Poker

269

Making a Scene

270

Creating a Game Menu

272

Game Logic

273

Card

274

Deck

276

SimpleHand

278

I Like the Sprites in You

282

Load and Display a Sprite

282

Manipulating Sprites

283

Spawns

283

Sequences

284

Putting It All together

284

Events: Making It Interactive

287

Detecting Sprite Taps

288

Combining Many Actions Together

290

Switching a Sprite Image

291

Adding Sound

292

Supporting the iPad

293

Further Exploring cocos2d

298

David Smith

299

Chapter 9 Creating an Audio-Centric App for the iPhone with AVAudioPlayer

301

Design

302

Designing for Your Target User

302

Our Design Process

303

Home Screen

303

Book Selection Screens

304

Book Information Screen

304

Player Screen

305

Implementation

307

Example Project

308

Getting Started

308

Setting Up the UI

310

Coding the Audio Player

314

Connecting the Play/Pause Button

316

Connecting the Skip Controls

317

Providing Player State in the UI

317

Understanding Audio Sessions

318

Summary

319

Joost van de Wijgerd and Arne de Vries

320

Chapter 10 Implementing PushNotifications at eBuddy

322

Introduction to eBuddy

322

The eBuddy Messenger

323

The eBuddy iPhone Application

323

Apple Push Notification Service

324

The Communication Flow

325

The Client Implementation

325

The eBuddy Push Implementation

328

Client / Server Protocol

328

Server to APNS

329

Fitting the Parts Together

333

Changes along the Way

334

Introducing eBuddy Pro

334

Extending the Beta Program

335

Summary

336

Index

337