Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Beginning iOS5 Development.pdf
Скачиваний:
7
Добавлен:
09.05.2015
Размер:
15.6 Mб
Скачать

www.it-ebooks.info

Beginning iOS 5

Development

Exploring the iOS SDK

■ ■ ■

Dave Mark

Jack Nutting

Jeff LaMarche

i

www.it-ebooks.info

Beginning iOS 5 Development: Exploring the iOS SDK

Copyright © 2011 by Dave Mark, Jack Nutting, Jeff LaMarche

This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher's location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law.

ISBN-13 (pbk): 978-1-4302-3605-4

ISBN-13 (electronic): 978-1-4302-3606-1

Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.

While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.

President and Publisher: Paul Manning Lead Editor: Tom Welsh

Technical Reviewer: Mark Dalrymple

Editorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Morgan Ertel, Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman,

James Markham, Matthew Moodie, Jeff Olson, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Gwenan Spearing, Matt Wade, Tom Welsh

Coordinating Editor: Kelly Moritz Copy Editor: Marilyn Smith Compositor: MacPS, LLC

Indexer: BIM Indexing & Proofreading Services Artist: SPi Global

Cover Designer: Anna Ishchenko

Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com.

For information on translations, please e-mail rights@apress.com, or visit www.apress.com.

Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales.

Any source code or other supplementary materials referenced by the author in this text is available to readers at www.apress.com. For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/.

www.it-ebooks.info

This book is dedicated to the memory of Steve Jobs.

We continue to be inspired by his spirit and his vision.

www.it-ebooks.info

Contents at a Glance

Contents..............................................................................................................

v

About the Authors.............................................................................................

xiv

About the Technical Reviewer ...........................................................................

xv

Acknowledgments ............................................................................................

xvi

Preface ............................................................................................................

xvii

Chapter 1: Welcome to the Jungle ..................................................................

1

Chapter 2: Appeasing the Tiki Gods ..............................................................

13

Chapter 3: Handling Basic Interaction...........................................................

45

Chapter 4: More User Interface Fun ..............................................................

69

Chapter 5: Autorotation and Autosizing ......................................................

113

Chapter 6: Multiview Applications ..............................................................

133

Chapter 7: Tab Bars and Pickers .................................................................

163

Chapter 8: Introduction to Table Views .......................................................

217

Chapter 9: Navigation Controllers and Table Views ....................................

277

Chapter 10: Storyboards .............................................................................

353

Chapter 11: iPad Considerations .................................................................

381

Chapter 12: Application Settings and User Defaults....................................

407

Chapter 13: Basic Data Persistence ............................................................

445

Chapter 14: Hey! You! Get onto iCloud! .......................................................

493

Chapter 15: Grand Central Dispatch, Background Processing, and You .....

525

Chapter 16: Drawing with Quartz and OpenGL ............................................

563

Chapter 17: Taps, Touches, and Gestures ...................................................

603

Chapter 18: Where Am I? Finding Your Way with Core Location.................

633

Chapter 19: Whee! Gyro and Accelerometer! ..............................................

645

Chapter 20: The Camera and Photo Library ................................................

673

Chapter 21: Application Localization...........................................................

685

Chapter 22: Where to Next?.........................................................................

705

Index ...............................................................................................................

711

iv

www.it-ebooks.info

Contents

Contents at a Glance ..........................................................................................

iv

About the Authors.............................................................................................

xiv

About the Technical Reviewer ...........................................................................

xv

Acknowledgments ............................................................................................

xvi

Preface ............................................................................................................

xvii

Chapter 1: Welcome to the Jungle ..................................................................

1

What This Book Is ...................................................................................................................................................

1

What You Need .......................................................................................................................................................

1

Developer Options..............................................................................................................................................

3

What You Need to Know ....................................................................................................................................

4

What’s Different About Coding for iOS? ..................................................................................................................

5

Only One Active Application ...............................................................................................................................

6

Only One Window ...............................................................................................................................................

6

Limited Access...................................................................................................................................................

6

Limited Response Time......................................................................................................................................

6

Limited Screen Size ...........................................................................................................................................

7

Limited System Resources ................................................................................................................................

7

No Garbage Collection, but… ............................................................................................................................

8

Some New Stuff .................................................................................................................................................

8

A Different Approach..........................................................................................................................................

8

What’s in This Book ................................................................................................................................................

9

What’s New in This Update? .................................................................................................................................

11

Are You Ready?.....................................................................................................................................................

11

Chapter 2: Appeasing the Tiki Gods ..............................................................

13

Setting Up Your Project in Xcode ..........................................................................................................................

13

The Xcode Workspace Window........................................................................................................................

18

A Closer Look at Our Project ............................................................................................................................

28

Introducing Xcode’s Interface Builder...................................................................................................................

30

What’s in the Nib File? .....................................................................................................................................

32

The Library .......................................................................................................................................................

33

Adding a Label to the View ..............................................................................................................................

34

Changing Attributes .........................................................................................................................................

37

v

www.it-ebooks.info

CONTENTS

Some iPhone Polish—Finishing Touches .............................................................................................................

39

Bring It on Home ...................................................................................................................................................

44

Chapter 3: Handling Basic Interaction...........................................................

45

The Model-View-Controller Paradigm...................................................................................................................

46

Creating Our Project..............................................................................................................................................

47

Looking at the View Controller..............................................................................................................................

48

Understanding Outlets and Actions..................................................................................................................

49

Cleaning Up the View Controller ......................................................................................................................

51

Designing the User Interface ...........................................................................................................................

52

Trying It Out .....................................................................................................................................................

64

Looking at the Application Delegate .....................................................................................................................

64

Bring It on Home ...................................................................................................................................................

68

Chapter 4: More User Interface Fun ..............................................................

69

A Screen Full of Controls ......................................................................................................................................

69

Active, Static, and Passive Controls......................................................................................................................

72

Creating the Application .......................................................................................................................................

73

Implementing the Image View and Text Fields .....................................................................................................

74

Adding the Image View ....................................................................................................................................

74

Resizing the Image View..................................................................................................................................

77

Setting View Attributes ....................................................................................................................................

79

Adding the Text Fields .....................................................................................................................................

82

Creating and Connecting Outlets .....................................................................................................................

89

Closing the Keyboard ............................................................................................................................................

91

Closing the Keyboard When Done Is Tapped ...................................................................................................

91

Touching the Background to Close the Keyboard ............................................................................................

93

Adding the Slider and Label .............................................................................................................................

95

Creating and Connecting the Actions and Outlets ...........................................................................................

97

Implementing the Action Method.....................................................................................................................

98

Implementing the Switches, Button, and Segmented Control ..............................................................................

98

Implementing the Switch Actions ..................................................................................................................

102

Implementing the Segmented Control Action .....................................................................................................

105

Implementing the Action Sheet and Alert ...........................................................................................................

105

Conforming to the Action Sheet Delegate Method .........................................................................................

106

Showing the Action Sheet..............................................................................................................................

106

Spiffing Up the Button.........................................................................................................................................

109

Using the viewDidLoad Method .....................................................................................................................

110

Control States ................................................................................................................................................

111

Stretchable Images ........................................................................................................................................

111

Crossing the Finish Line......................................................................................................................................

112

Chapter 5: Autorotation and Autosizing ......................................................

113

The Mechanics of Autorotation ...........................................................................................................................

114

Points, Pixels, and the Retina Display............................................................................................................

114

Autorotation Approaches ...............................................................................................................................

115

Handling Rotation Using Autosize Attributes ......................................................................................................

115

Configuring Supported Orientations...............................................................................................................

116

Specifying Rotation Support ..........................................................................................................................

117

Designing an Interface with Autosize Attributes............................................................................................

118

vi

www.it-ebooks.info

 

CONTENTS

Using the Size Inspector’s Autosize Attributes ..............................................................................................

120

Setting the Buttons’ Autosize Attributes ........................................................................................................

122

Restructuring a View When Rotated ...................................................................................................................

123

Creating and Connecting Outlets ...................................................................................................................

125

Moving the Buttons on Rotation.....................................................................................................................

125

Swapping Views .................................................................................................................................................

126

Designing the Two Views...............................................................................................................................

128

Implementing the Swap .................................................................................................................................

130

Changing Outlet Collections ...........................................................................................................................

131

Rotating Out of Here ...........................................................................................................................................

132

Chapter 6: Multiview Applications ..............................................................

133

Common Types of Multiview Apps......................................................................................................................

133

The Architecture of a Multiview Application .......................................................................................................

138

The Root Controller ........................................................................................................................................

141

Anatomy of a Content View............................................................................................................................

142

Building View Switcher .......................................................................................................................................

142

Creating Our View Controller and Nib Files....................................................................................................

144

Modifying the App Delegate...........................................................................................................................

146

Modifying BIDSwitchViewController.h ...........................................................................................................

148

Adding a View Controller ...............................................................................................................................

148

Building a View with a Toolbar ......................................................................................................................

150

Writing the Root View Controller....................................................................................................................

152

Implementing the Content Views ...................................................................................................................

156

Animating the Transition................................................................................................................................

159

Switching Off ......................................................................................................................................................

161

Chapter 7: Tab Bars and Pickers .................................................................

163

The Pickers Application ......................................................................................................................................

164

Delegates and Data Sources...............................................................................................................................

169

Setting Up the Tab Bar Framework.....................................................................................................................

170

Creating the Files ...........................................................................................................................................

171

Adding the Root View Controller ....................................................................................................................

172

Creating TabBarController.xib ........................................................................................................................

173

The Initial Test Run ........................................................................................................................................

181

Implementing the Date Picker ............................................................................................................................

182

Implementing the Single-Component Picker ......................................................................................................

186

Declaring Outlets and Actions........................................................................................................................

186

Building the View ...........................................................................................................................................

187

Implementing the Controller As a Data Source and Delegate........................................................................

188

Implementing a Multicomponent Picker .............................................................................................................

192

Declaring Outlets and Actions........................................................................................................................

193

Building the View ...........................................................................................................................................

193

Implementing the Controller ..........................................................................................................................

194

Implementing Dependent Components...............................................................................................................

196

Creating a Simple Game with a Custom Picker ..................................................................................................

203

Writing the Controller Header File..................................................................................................................

203

Building the View ...........................................................................................................................................

204

Adding Image Resources ...............................................................................................................................

205

vii

www.it-ebooks.info

CONTENTS

Implementing the Controller ..........................................................................................................................

205

Final Details ...................................................................................................................................................

210

Linking in the Audio Toolbox Framework.......................................................................................................

214

Final Spin ............................................................................................................................................................

215

Chapter 8: Introduction to Table Views .......................................................

217

Table View Basics ...............................................................................................................................................

218

Table Views and Table View Cells..................................................................................................................

218

Grouped and Plain Tables ..............................................................................................................................

220

Implementing a Simple Table .............................................................................................................................

221

Designing the View ........................................................................................................................................

221

Writing the Controller.....................................................................................................................................

222

Adding an Image ............................................................................................................................................

226

Using Table View Cell Styles ..........................................................................................................................

228

Setting the Indent Level .................................................................................................................................

230

Handling Row Selection .................................................................................................................................

231

Changing the Font Size and Row Height........................................................................................................

233

Customizing Table View Cells .............................................................................................................................

235

Adding Subviews to the Table View Cell........................................................................................................

236

Creating a UITableViewCell Subclass.............................................................................................................

237

Loading a UITableViewCell from a Nib ...........................................................................................................

242

Grouped and Indexed Sections ...........................................................................................................................

248

Building the View ...........................................................................................................................................

248

Importing the Data .........................................................................................................................................

248

Implementing the Controller ..........................................................................................................................

249

Adding an Index .............................................................................................................................................

254

Implementing a Search Bar ................................................................................................................................

255

Rethinking the Design....................................................................................................................................

255

A Deep Mutable Copy.....................................................................................................................................

256

Updating the Controller Header File ...............................................................................................................

258

Modifying the View ........................................................................................................................................

259

Modifying the Controller Implementation ......................................................................................................

264

Putting It All on the Table....................................................................................................................................

276

Chapter 9: Navigation Controllers and Table Views ....................................

277

Navigation Controller Basics ...............................................................................................................................

277

Stacky Goodness ...........................................................................................................................................

278

A Stack of Controllers ....................................................................................................................................

278

Nav, a Hierarchical Application in Six Parts........................................................................................................

280

Meet the Subcontrollers ................................................................................................................................

280

The Nav Application’s Skeleton .....................................................................................................................

286

Adding the Images to the Project...................................................................................................................

294

First Subcontroller: The Disclosure Button View ...........................................................................................

295

Second Subcontroller: The Checklist .............................................................................................................

304

Third Subcontroller: Controls on Table Rows.................................................................................................

310

Fourth Subcontroller: Movable Rows.............................................................................................................

317

Fifth Subcontroller: Deletable Rows ..............................................................................................................

324

Sixth Subcontroller: An Editable Detail Pane .................................................................................................

330

viii

www.it-ebooks.info

 

CONTENTS

But There’s One More Thing. . . .....................................................................................................................

349

Breaking the Tape...............................................................................................................................................

352

Chapter 10: Storyboards .............................................................................

353

Creating a Simple Storyboard .............................................................................................................................

354

Dynamic Prototype Cells .....................................................................................................................................

358

Dynamic Table Content, Storyboard-Style .....................................................................................................

358

Editing Prototype Cells ...................................................................................................................................

359

Good Old Table View Data Source..................................................................................................................

361

Will It Load? ...................................................................................................................................................

363

Static Cells ..........................................................................................................................................................

364

Going Static....................................................................................................................................................

365

So Long, Good Old Table View Data Source...................................................................................................

366

You Say Segue, I Say Segue ...............................................................................................................................

367

Creating Segue Navigator ..............................................................................................................................

368

Filling the Blank Slate ....................................................................................................................................

369

First Transition ...............................................................................................................................................

372

A Slightly More Useful Task List ....................................................................................................................

372

Viewing Task Details......................................................................................................................................

373

Make More Segues, Please ...........................................................................................................................

374

Passing a Task from the List..........................................................................................................................

374

Handling Task Details ....................................................................................................................................

376

Passing Back Details .....................................................................................................................................

377

Making the List Receive the Details...............................................................................................................

378

If Only We Could End with a Smooth Transition.............................................................................................

379

Chapter 11: iPad Considerations .................................................................

381

Split Views and Popovers ...................................................................................................................................

381

Creating a SplitView Project ..........................................................................................................................

383

The Storyboard Defines the Structure ...........................................................................................................

385

The Code Defines the Functionality ...............................................................................................................

387

Here Come the Presidents ..................................................................................................................................

394

Creating Your Own Popover ................................................................................................................................

401

iPad Wrap-Up ......................................................................................................................................................

406

Chapter 12: Application Settings and User Defaults....................................

407

Getting to Know Your Settings Bundle ................................................................................................................

407

The AppSettings Application ...............................................................................................................................

410

Creating the Project .......................................................................................................................................

414

Working with the Settings Bundle .................................................................................................................

415

Reading Settings in Our Application ..............................................................................................................

431

Registering Default Values.............................................................................................................................

436

Changing Defaults from Our Application........................................................................................................

437

Keeping It Real...............................................................................................................................................

440

Beam Me Up, Scotty ...........................................................................................................................................

443

Chapter 13: Basic Data Persistence ............................................................

445

Your Application’s Sandbox ................................................................................................................................

446

Getting the Documents Directory...................................................................................................................

447

Getting the tmp Directory...............................................................................................................................

448

File-Saving Strategies.........................................................................................................................................

448

ix

www.it-ebooks.info

CONTENTS

Single-File Persistence ..................................................................................................................................

448

Multiple-File Persistence ...............................................................................................................................

449

Using Property Lists ............................................................................................................................................

449

Property List Serialization ..............................................................................................................................

449

The First Version of the Persistence Application ...........................................................................................

451

Archiving Model Objects .....................................................................................................................................

456

Conforming to NSCoding................................................................................................................................

457

Implementing NSCopying ..............................................................................................................................

458

Archiving and Unarchiving Data Objects........................................................................................................

459

The Archiving Application ..............................................................................................................................

460

Using iOS’s Embedded SQLite3 ..........................................................................................................................

463

Creating or Opening the Database .................................................................................................................

464

Using Bind Variables ......................................................................................................................................

466

The SQLite3 Application .................................................................................................................................

467

Using Core Data ..................................................................................................................................................

473

Entities and Managed Objects .......................................................................................................................

475

The Core Data Application .............................................................................................................................

479

Persistence Rewarded ........................................................................................................................................

491

Chapter 14: Hey! You! Get onto iCloud! .......................................................

493

Managing Document Storage with UIDocument .................................................................................................

494

Building TinyPix .............................................................................................................................................

494

Creating BIDTinyPixDocument .......................................................................................................................

495

Code Master...................................................................................................................................................

499

Initial Storyboarding.......................................................................................................................................

505

Creating BIDTinyPixView ................................................................................................................................

508

Storyboard Detailing ......................................................................................................................................

513

Adding iCloud Support ........................................................................................................................................

516

Creating a Provisioning Profile.......................................................................................................................

517

Enabling iCloud Entitlements .........................................................................................................................

518

How to Query .................................................................................................................................................

518

Save Where? ..................................................................................................................................................

520

Storing Preferences on iCloud .......................................................................................................................

521

What We Didn’t Cover .........................................................................................................................................

522

Chapter 15: Grand Central Dispatch, Background Processing, and You .....

525

Grand Central Dispatch .......................................................................................................................................

525

Introducing SlowWorker .....................................................................................................................................

526

Threading Basics ................................................................................................................................................

530

Units of Work ......................................................................................................................................................

531

GCD: Low-Level Queueing ..................................................................................................................................

531

Becoming a Blockhead ..................................................................................................................................

532

Improving SlowWorker ..................................................................................................................................

533

Background Processing ......................................................................................................................................

539

Application Life Cycle.....................................................................................................................................

541

State-Change Notifications ............................................................................................................................

541

Creating State Lab .........................................................................................................................................

543

Exploring Execution States ............................................................................................................................

544

Making Use of Execution State Changes .......................................................................................................

546

x

www.it-ebooks.info

 

CONTENTS

Handling the Inactive State ............................................................................................................................

547

Handling the Background State .....................................................................................................................

552

Grand Central Dispatch, Over and Out ................................................................................................................

562

Chapter 16: Drawing with Quartz and OpenGL ............................................

563

Two Views of a Graphical World .........................................................................................................................

563

The Quartz 2D Approach to Drawing...................................................................................................................

564

Quartz 2D’s Graphics Contexts ......................................................................................................................

565

The Coordinate System ..................................................................................................................................

566

Specifying Colors ...........................................................................................................................................

567

Drawing Images in Context ............................................................................................................................

569

Drawing Shapes: Polygons, Lines, and Curves ..............................................................................................

569

Quartz 2D Tool Sampler: Patterns, Gradients, and Dash Patterns .................................................................

570

The QuartzFun Application ..................................................................................................................................

572

Setting Up the QuartzFun Application ............................................................................................................

572

Adding Quartz 2D Drawing Code....................................................................................................................

584

Optimizing the QuartzFun Application............................................................................................................

589

The GLFun Application ........................................................................................................................................

592

Setting Up the GLFun Application ..................................................................................................................

593

Creating BIDGLFunView .................................................................................................................................

594

Updating BIDViewController ...........................................................................................................................

601

Updating the Nib ............................................................................................................................................

602

Finishing GLFun .............................................................................................................................................

602

Drawing to a Close..............................................................................................................................................

602

Chapter 17: Taps, Touches, and Gestures ...................................................

603

Multitouch Terminology ......................................................................................................................................

604

The Responder Chain ..........................................................................................................................................

604

Responding to Events ....................................................................................................................................

605

Forwarding an Event: Keeping the Responder Chain Alive ............................................................................

606

The Multitouch Architecture ...............................................................................................................................

606

The Four Touch Notification Methods .................................................................................................................

607

The TouchExplorer Application ...........................................................................................................................

608

The Swipes Application.......................................................................................................................................

613

Automatic Gesture Recognition .....................................................................................................................

616

Implementing Multiple Swipes ......................................................................................................................

618

Detecting Multiple Taps ......................................................................................................................................

620

Detecting Pinches ...............................................................................................................................................

625

Defining Custom Gestures ..................................................................................................................................

627

The CheckPlease Application.........................................................................................................................

628

The CheckPlease Touch Methods ..................................................................................................................

630

Garçon? Check, Please! ......................................................................................................................................

632

Chapter 18: Where Am I? Finding Your Way with Core Location.................

633

The Location Manager ........................................................................................................................................

634

Setting the Desired Accuracy ........................................................................................................................

634

Setting the Distance Filter .............................................................................................................................

634

Starting the Location Manager ......................................................................................................................

635

Using the Location Manager Wisely...............................................................................................................

635

The Location Manager Delegate .........................................................................................................................

635

xi

www.it-ebooks.info

CONTENTS

Getting Location Updates ...............................................................................................................................

636

Getting Latitude and Longitude Using CLLocation .........................................................................................

636

Error Notifications ..........................................................................................................................................

638

Trying Out Core Location ....................................................................................................................................

639

Updating Location Manager ...........................................................................................................................

643

Determining Distance Traveled......................................................................................................................

644

Wherever You Go, There You Are ........................................................................................................................

644

Chapter 19: Whee! Gyro and Accelerometer! ..............................................

645

Accelerometer Physics .......................................................................................................................................

645

Don’t Forget Rotation ..........................................................................................................................................

646

Core Motion and the Motion Manager ................................................................................................................

647

Event-Based Motion.......................................................................................................................................

647

Proactive Motion Access................................................................................................................................

653

Accelerometer Results...................................................................................................................................

655

Detecting Shakes ................................................................................................................................................

656

Baked-In Shaking ..........................................................................................................................................

657

Shake and Break............................................................................................................................................

658

Accelerometer As Directional Controller .............................................................................................................

664

Rolling Marbles ..............................................................................................................................................

664

Writing the Ball View......................................................................................................................................

666

Calculating Ball Movement ............................................................................................................................

669

Rolling On............................................................................................................................................................

672

Chapter 20: The Camera and Photo Library ................................................

673

Using the Image Picker and UIImagePickerController ........................................................................................

673

Implementing the Image Picker Controller Delegate ..........................................................................................

675

Road Testing the Camera and Library.................................................................................................................

677

Designing the Interface..................................................................................................................................

679

Implementing the Camera View Controller ....................................................................................................

679

It’s a Snap! ..........................................................................................................................................................

684

Chapter 21: Application Localization...........................................................

685

Localization Architecture ....................................................................................................................................

685

Strings Files ........................................................................................................................................................

687

What’s in a Strings File? ................................................................................................................................

687

The Localized String Macro ...........................................................................................................................

688

Real-World iOS: Localizing Your Application.......................................................................................................

688

Setting Up LocalizeMe ...................................................................................................................................

689

Trying Out LocalizeMe ...................................................................................................................................

693

Localizing the Nib ..........................................................................................................................................

694

Localizing an Image .......................................................................................................................................

698

Generating and Localizing a Strings File .......................................................................................................

701

Localizing the App Display Name...................................................................................................................

703

Auf Wiedersehen.................................................................................................................................................

704

Chapter 22: Where to Next?.........................................................................

705

Apple’s Documentation .......................................................................................................................................

705

Mailing Lists........................................................................................................................................................

706

Discussion Forums..............................................................................................................................................

706

Web Sites ............................................................................................................................................................

707

xii

www.it-ebooks.info

 

CONTENTS

Blogs ...................................................................................................................................................................

708

Conferences ........................................................................................................................................................

708

Follow the Authors ..............................................................................................................................................

710

Farewell ..............................................................................................................................................................

710

Index ...............................................................................................................

711

xiii

www.it-ebooks.info

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]