The iPhone developer's cookbook: buidling applications with the iPhone SDK

The iPhone developer's cookbook: buidling applications with the iPhone SDK

Sadun, Erica

38,43 €(IVA inc.)

"This book would be a bargain at ten times its price! If you are writing iPhone software, it will save you weeks of development time. Erica has included dozens of crisp and clear examples illustrating essential iPhone development techniques and many others that show special effects going way beyond Apple's official documentation." --Tim Burks, iPhone Software Developer, TootSweet Software "Erica Sadun's technical expertise lives up to the Addison-Wesley name. TheiPhone Developer's Cookbook is a comprehensive walkthrough of iPhone development that will help anyone out, from beginners to more experienced developers. Code samples and screenshots help punctuate the numerous tips and tricks in this book." --Jacqui Cheng, Associate Editor, Ars Technica "We make our living writing this stuff and yet I am humbled by Erica's command of her subject matter and the way she presents the material: pleasantly informal, then very appropriately detailed technically. This is a going to be the Petzold book for iPhone developers." --Daniel Pasco, Lead Developer and CEO, Black Pixel Luminance "The iPhone Developer's Cookbook should be the first resource for the beginningiPhone programmer, and is the best supplemental material to Apple's own documentation." --Alex C. Schaefer, Lead Programmer, ApolloIM, iPhone Application Development Specialist, MeLLmo, Inc. "Erica's book is a truly great resource for Cocoa Touch developers. This book goes far beyond the documentation on Apple's Web site, and she includes methods that give the developer a deeper understanding of the iPhone OS, by letting them glimpse at what's going on behind thescenes on this incredible mobile platform." --John Zorko, Sr. Software Engineer, Mobile Devices "I've found this book to be an invaluable resource for those times when I need to quickly grasp a new concept and walk away with a working block of code. Erica has an impressive knowledge of the iPhone platform, is a master at describing technical information, and provides a compendium of excellent code examples." --John Muchow, 3 Sixty Software, LLC; founder, iPhoneDeveloperTips.com "This book is the most complete guide if you want coding for the iPhone, covering from the basics to the newest and coolest technologies. I built several applications in the past, but I still learned a huge amount fromthis book. It is a must-have for every iPhone developer." --Roberto Gamboni, Software Engineer, AT&T Interactive "It's rare that developer cookbooks can both provide good recipes and solid discussion of fundamental techniques, but Erica Sadun's book manages to do both very well." --Jeremy McNally, Developer, entp Want to get started building applications for Apple's iPhone and iPod touch? Already building iPhone applications and want to get better at it? This is the only book that brings together all the expert guidance--and the code--you'll need! Completely revised and expanded to cover the iPhone 3.0 SDK, The iPhone Developer's Cookbook is the essential resource for developers building appsfor the iPhone and iPod touch. Taking you further than before, this new edition starts out with an introduction to Objective-C 2.0 for developers who mightbe new to the platform. You'll learn about Xcode and Interface Builder and learn how to set up and configure your iPhone Developer account. Additional highlights of this new edition include: Using the iPhone SDK's visual classes and controllers to design and customize interfaces Using gestures, touches, and other sophisticated iPhone interface capabilities Making the most of tables, views, view controllers, and animations Alerting users with progress bars, audio pings, status bar updates, and other indicators Using new Push Notifications to send alerts, whether your app is running or not Playing audio and video withthe MediaKit Working with the Address Book, Core Location, and Sensors Connecting to the Internet, Web services, and networks Embedding flexible maps with MapKit and Google Mobile Maps Building multiplayer games with GameKit Using Core Data to build data-driven applications Selling add-on content and services with In-App Purchasing using StoreKit Building accessible apps with Accessibility Plus The unique format of The iPhone Developer's Cookbook presents the code you need to create feature-rich applications that leverage the latest features of the iPhone 3.0 SDK. Over 30,000 iPhone developers turned to the first edition of The iPhone Developer's Cookbook. So should you! INDICE: Preface xix 1 Introducing the iPhone SDK 1 iPhone Developer Programs 1 Getting Started 3 Understanding Model Differences 7 Platform Limitations 9 SDK Limitations 12 Using the Developer Portal 13 Assembling iPhone Projects 17 iPhone Application Components 22 Programming Paradigms 28 Summary 35 2 Building Your First Project 37 Creating New Projects 37 Building Hello World the Template Way 39 Using the Simulator 46 The Minimalist Hello World 48 Using the Debugger 53 Memory Management 58 Recipe: Using Instruments to Detect Leaks 59 Recipe: Using Instruments to Monitor Cached Object Allocations 62 Using the Clang Static Analyzer 64 Building for the iPhone 65 From Xcode to Your iPhone: The Organizer Interface 69 Using Compiler Directives 73 Building for Distribution 78 Clean Builds 80 Building for Ad Hoc Distribution 83 Customizing Xcode Identities 85 Creating Custom Xcode Templates 86 One More Thing: Viewing Side-by-Side Code 88 Summary 89 3 Objective-C Boot Camp 91 The Objective-C Programming Language 91 Classes and Objects 92 Methods, Messages, and Selectors 95 ClassHierarchy 102 Logging Information 103 Properties 105 Simple Memory Management110 Crafting Singletons 119 Categories (Extending Classes) 120 Protocols 122 Foundation Classes 125 One More Thing: Message Forwarding 138 Summary 141 4 Designing Interfaces 143 UIView and UIWindow 143 UIViewControllers 147 View Design Geometry 151 Building Interfaces 155 Walk-Through: Building a Temperature Converter with IB 156 Walk-Through: Building a Converter Interface by Hand 166 Walk-Through: Creating a Hybrid Converter 169 Walk-Through: Loading .xib FilesDirectly from Code 173 Designing for Rotation 174 Enabling Reorientation 175 Autosizing 176 Moving Views 179 Swapping Views 183 One More Thing: A Half Dozen Great Interface Builder Tips 184 Summary 186 5 Working with View Controllers187 Developing with Navigation Controllers 187 Utility Function 190 Recipe: Building a Simple Two-Item Menu 192 Recipe: Adding a Segmented Control 193 Recipe: Navigating Between View Controllers 195 Recipe: Using Creative Popping Options 197 Recipe: Presenting a Custom Modal Information View 199 Recipe: Tab Bars 201 Recipe: Remembering Tab State 204 One More Thing: Interface Builder andTab Bar Controllers 207 Summary 208 6 Assembling Views and Animations 211 View Hierarchies 211 Recipe: Recovering a View Hierarchy Tree 213 Recipe: Querying Subviews 214 Managing Subviews 215 Recipe: Tagging and Retrieving Views 217 Recipe: Naming Views 219 View Geometry 222 Recipe: Working with View Frames 224 Recipe: Randomly Moving a Bounded View 231 Recipe: Transforming Views 232 Display and Interaction Traits 235 UIView Animations 236 Recipe: Fading a View In and Out 237 Recipe: Swapping Views 239 Recipe: Flipping Views 240 Recipe: Using Core Animation Transitions 242 Recipe: General Core Animation Calls 244 Curl Transitions 246 Recipe: Bouncing Views as They Appear 248 Recipe: Image View Animations 250 One More Thing: Adding Reflections to Views 251 Summary 255 7Working with Images 257 Recipe: Finding and Loading Images 257 Recipe: Accessing Photos from the iPhone Photo Album 262 Recipe: Selecting and Customizing Images from the Camera Roll 265 Recipe: Snapping Photos and Writing Them to thePhoto Album 268 Recipe: Saving Pictures to the Documents Folder 270 Recipe: E-Mailing Pictures 272 Recipe: Capturing Time Lapse Photos 273 Recipe: Using a Custom Camera Overlay 275 Recipe: Displaying Images in a Scrollable View 278 Recipe: Creating a Multiimage Paged Scroll 280 Recipe: Creating New Images fromScratch 281 Recipe: Building Thumbnails from Images 285 Fixing Photo Orientation 288 Taking Screenshots 290 Recipe: Working Directly with Bitmaps 291 One More Thing: Going Grayscale 298 Summary 299 8 Gestures and Touches 301 Touches 301 Recipe: Adding a Simple Direct Manipulation Interface 304 Recipe: Constraining Movement 305 Recipe: Testing Touches 307 Recipe: Testing Against a Bitmap309 Recipe: Adding Persistence to Direct Manipulation Interfaces 311 Recipe: Persistence Through Archiving 314 Recipe: Adding Undo Support 316 Recipe: Adding Shake-Controlled Undo Support 319 Recipe: Drawing Onscreen 321 Recipe: Calculating Lines 323 Recipe: Detecting Circles 325 Recipe: Detecting Multitouch 327 Recipe: Gesture Distinction 329 One More Thing: Interactive Resize and Rotation 333 Summary 338 9 Building and Using Controls 341 The UIControl Class 341Buttons 344 Adding Buttons in Interface Builder 345 Building Custom Buttons in Xcode 348 Multiline Button Text 351 Adding Animated Elements to Buttons 351 Recipe: Animating Button Responses 352 Recipe: Working with Switches 354 Recipe: Adding Custom Slider Thumbs 356 Recipe: Creating a Twice-Tappable SegmentedControl 362 Recipe: Subclassing UIControl 363 Recipe: Dismissing a UITextField Keyboard 366 Recipe: Dismissing UITextView Keyboards 370 Recipe: Building a Better Text Editor 371 Recipe: Text Entry Filtering 374 Recipe: Adding a Page Indicator Control 376 Recipe: Creating a Customizable Paged Scroller 379 Building a Toolbar 384 One More Thing: Smart Labels 387 Summary 388 10 Alerting Users 391 Talking Directly to Your User Through Alerts 391 Recipe: No-Button Alerts 394 Recipe: Creating Modal Alerts with Run Loops 396 Recipe: Soliciting Text Input from the User 399 Recipe: Using Variadic Arguments with Alert Views 402 Recipe: Presenting Simple Menus 403 Recipe: Displaying Text in Action Sheets405 "Please Wait": Showing Progress to Your User 406 Recipe: Building a UIProgressView 407 Recipe: Building Custom Overlays 409 Recipe: Tappable Overlays 411 Recipe: Orientable Scroll-Down Alerts 412 Recipe: Using the Network Activity Indicator 415 Recipe: Badging Applications 416 Recipe: Simple Audio Alerts 417 One More Thing: Showing the Volume Alert 420 Summary 421 11 Creating and Managing Table Views 423 Introducing UITableView and UITableViewController 423 Recipe: Implementing a Very Basic Table 426 Recipe: Changing a Table's Background Color 430 Recipe: Creating a Table Image Backsplash 432 Recipe: Exploring Cell Types 433 Recipe: Building Custom Cells in Interface Builder 435 Recipe: Alternating Cell Colors 439 Recipe: Building a Custom Cell with Built-In Controls 441 Recipe: Remembering Control State for Custom Cells 443 Recipe: CreatingChecked Table Cells 446 Recipe: Removing Selection Highlights from Cells 448 Recipe: Working with Disclosure Accessories 449 Recipe: Deleting Cells 451 Recipe: Reordering Cells 456 Recipe: Adding Undo Support to a Table 457 Recipe: Sorting Tables 462 Recipe: Searching Through a Table 464 Recipe: Working with Sections 467 Recipe: Creating Grouped Tables 473 Recipe: Customizing Headers and Footers 474 Recipe: Creating a Group Table with Many Cell Types and Heights 477 Recipe: Building a Multiwheel Table 480 Recipe: Using a View-Based Picker 484 Recipe: Using the UIDatePicker 487 One More Thing: Formatting Dates 490 Summary 493 12 Making Connections with GameKit and Bonjour 495 Recipe: Creating Basic GameKit Services 495 Recipe: Peeking Behind the Scenes 509 Recipe: Sending Complex Data Through GameKit 510 Recipe: GameKit Voice Chat 512 Recipe: Using Bonjour to Create an iPhone Server 515 Recipe: Creating a Mac Client for aniPhone Bonjour Service 520 Recipe: Working Around Real-World GameKit Limitations 523 Recipe: iPhone to iPhone Gaming Via BonjourHelper 528 Creating an "Online" GameKit Connection 537 One More Thing: Scanning for Services 540 Summary 543 13 Networking 545 Recipe: Checking Your Network Status 545 Recipe: Extending the UIDevice Class for Reachability 547 Recipe: Scanning for Connectivity Changes 549 Recipe: Recovering IP and Host Information 552 Recipe: Checking Site Availability 555 Recipe: Synchronous Downloads 557 Recipe: Asynchronous Downloads 560 Recipe: Handling Authentication Challenges 565 Recipe: Using the Keychain to Store Sensitive Data 566 Recipe: Uploading Via POST 569 Recipe: Uploading Data 572 Recipe: Sharing Keychains Between Applications 575 Recipe: Converting XML into Trees 577 Recipe: Building a Simple Web-Based Server 582 One More Thing: FTPHelper 586 Summary 588 14 Device Capabilities 589 Recipe: Accessing Core Device Information 589 Adding Device Capability Restrictions 590 Recipe: Recovering Additional Device Information 592 Recipe: Monitoring the iPhone Battery State 594 Recipe: Enabling and Disabling the Proximity Sensor 596 Recipe: Using Acceleration to Locate "Up" 597 Recipe: Using Acceleration to Move Onscreen Objects 599 Recipe: Detecting Device Orientation 601 Recipe: DetectingShakes Using Motion Events 603 Recipe: Detecting Shakes Directly from the Accelerometer 605 One More Thing: Checking for Available Disk Space 608 Summary 609 15 Audio, Video, and MediaKit 611 Recipe: Playing Audio with AVAudioPlayer 611 Recipe: Looping Audio 618 Recipe: Handling Audio Interruptions 621 Recipe:Audio That Ignores Sleep 622 Recipe: Recording Audio 624 Recipe: Recording Audio with Audio Queues 629 Recipe: Playing Video with the Media Player 634 Recipe: Recording Video 636 Recipe: Picking and Editing Video 639 Recipe: Picking Audio with the MPMediaPickerController 641 Creating a Media Query 645 Recipe: Using the MPMusicPlayerController 649 One More Thing: Additional Movie Player Properties 653 Summary 653 16 Push Notifications 655 Introducing Push Notifications 655 Provisioning Push 659 Registering Your Application 662 Recipe: Push Client Skeleton 667 Building Notification Payloads 672 Recipe: Sending Notifications 676 Recipe: Push in Action 681 Feedback Service 685 Designing for Push 686 Summary 687 17 Using Core Location and MapKit 689 How Core Location Works 689 Recipe: Core Location in a Nutshell 691 Recipe: Tracking Speed 695 Recipe:Computing Speed and Distance 696 Recipe: Keeping Track of "North" by Using Heading Values 698 Recipe: Reverse Geocoding 700 Recipe: Viewing a Location 703 Recipe: User Location Annotations 707 Recipe: Creating Map Annotations 709 OneMore Thing: Geocoding 717 Summary 721 18 Connecting to the Address Book 723 Recipe: Working with the Address Book 723 Recipe: Searching the Address Book 738 Recipe: Accessing Image Data 741 Recipe: Picking People 742 Recipe: LimitingContact Picker Properties 745 Recipe: Adding New Contacts 747 Recipe: Modifying Existing Contacts 748 Recipe: The ABUnknownPersonViewController 750 One More Thing: Adding Random Contact Art 752 Summary 755 19 A Taste of Core Data 757Introducing Core Data 757 Recipe: Using Core Data for a Table Data Source 767Recipe: Search Tables and Core Data 770 Recipe: Integrating Core Data Tables with Live Data Edits 773 Recipe: Implementing Undo-Redo Support with Core Data775 Summary 778 20 StoreKit: In-App Purchasing 779 Getting Started with StoreKit 779 Creating Test Accounts 781 Creating New In-App Purchase Items 782 Submitting the Application 787 Building a GUI 787 Purchasing Items 789 Validating Receipts 794 Summary 797 21 Accessibility and Other iPhone OS Services 799 Adding VoiceOver Accessibility to Your Apps 799 Recipe: Adding Custom Settings Bundles 806 Recipe: Creating URL-Based Services 814 Summary 819 A Info.plist Keys 821 Index 825

  • ISBN: 978-0-321-65957-6
  • Editorial: Addison-Wesley
  • Encuadernacion: Rústica
  • Páginas: 888
  • Fecha Publicación: 01/01/2010
  • Nº Volúmenes: 1
  • Idioma: Inglés