iOS Components and Frameworks
Understanding the Advanced Features of the iOS SDK
(Sprache: Englisch)
Take the next leap forward as an iOS app developer: leverage iOS 6's powerful new components and frameworks, and build apps with outstanding performance, reliability, interactivity, media support, and customization! iOS Components and Frameworks handles...
Leider schon ausverkauft
versandkostenfrei
Buch (Kartoniert)
36.00 €
- Lastschrift, Kreditkarte, Paypal, Rechnung
- Kostenlose Rücksendung
Produktdetails
Produktinformationen zu „iOS Components and Frameworks “
Klappentext zu „iOS Components and Frameworks “
Take the next leap forward as an iOS app developer: leverage iOS 6's powerful new components and frameworks, and build apps with outstanding performance, reliability, interactivity, media support, and customization! iOS Components and Frameworks handles intermediate-to-advanced iOS programming topics brilliantly, fully illuminating the sophisticated intermediate-to-advanced-level techniques you're now ready for. Pioneering iOS programmers Kyle Richter and Joe Keeley offer thorough and example-rich coverage of topics ranging from social support to security, Core Data to advanced networking, iCloud support to StoreKit and Mapkit. You'll find a full section on advanced performance and security techniques, including the effective use of Grand Central Dispatch and Keychain. Richter and Keeley also thoroughly address Core Gallery Views, Core Text, Gesture Recognizers, Photo Libraries, and more. Each chapter contains a complete sample project that walks you through integrating its technology into a generic iOS app. You'll discover how multiple iOS 6 features can be combined into exceptionally powerful apps, and walk through a complete case study project: a fully functional game with complete Game Center integration. Throughout, you'll find robust code examples designed for easy reuse, making this your most valuable iOS go-to reference for years to come.
Inhaltsverzeichnis zu „iOS Components and Frameworks “
1 UIKit Dynamics 1 Sample App 1 Introduction to UIKit Dynamics 2 Implementing UIKit Dynamics 3 Gravity 3 Collisions 4 Attachments 6 Springs 8 Snap 9 Push Forces 9 Item Properties 11 In-Depth UIDynamicAnimator and UIDynamicAnimatorDelegate 13 Summary 13 Exercises 14 2 Core Location, MapKit, and Geofencing 15 The Sample App 15 Obtaining User Location 15 Requirements and Permissions 16 Checking for Services 19 Starting Location Request 20 Parsing and Understanding Location Data 22 Significant Change Notifications 23 Using GPX Files to Test Specific Locations 24 Displaying Maps 26 Understanding the Coordinate Systems 26 MKMapKit Configuration and Customization 26 Responding to User Interactions 28 Map Annotations and Overlays 29 Adding Annotations 29 Displaying Standard and Custom Annotation Views 32 Draggable Annotation Views 35 Working with Map Overlays 36 Geocoding and Reverse-Geocoding 37 Geocoding an Address 37 Reverse-Geocoding a Location 41 Geofencing 44 Checking for Regional Monitoring Capability 44 Defining Boundaries 45 Monitoring Changes 46 Getting Directions 48 Summary 52 Exercises 53 3 Leaderboards 55 Whack-a-Cac 55 Spawning a Cactus 57 Cactus Interaction 60 Displaying Life and Score 62 Pausing and Resuming 63 Final Thoughts on Whack-a-Cac 64 iTunes Connect 65 Game Center Manager 68 Authenticating 70 Common Authentication Errors 71 iOS 6 Authentication 73 Submitting Scores 75 Adding Scores to Whack-a-Cac 78 Presenting Leaderboards 80 Score Challenges 82 Going Further with Leaderboards 84 Summary 86 Exercises 86 4 Achievements 87 iTunes Connect 87 Displaying Achievement Progress 89 Game Center Manager and Authentication 91 The Achievement Cache 91 Reporting Achievements 93 Adding Achievement Hooks 95 Completion Banners 96 Achievement Challenges 97 Adding Achievements into Whack-a-Cac 100 Earned or Unearned Achievements 101 Partially Earned Achievements 102 Multiple Session Achievements 104 Piggybacked Achievements and Storing Achievement Precision 105
... mehr
Timer-Based Achievements 106 Resetting Achievements 107 Going Further with Achievements 108 Summary 110 Exercises 110 5 Getting Started with Address Book 111 Why Address Book Support Is Important 111 Limitations of Address Book Programming 112 Introduction to the Sample App 112 Getting Address Book Up and Running 112 Reading Data from the Address Book 115 Reading Multivalues from the Address Book 116 Understanding Address Book Labels 117 Working with Addresses 118 Address Book Graphical User Interface 120 People Picker 120 Programmatically Creating Contacts 125 Summary 128 Exercises 128 6 Working with Music Libraries 129 Introduction to the Sample App 129 Building a Playback Engine 131 Registering for Playback Notifications 131 User Controls 133 Handling State Changes 135 Duration and Timers 139 Shuffle and Repeat 140 Media Picker 141 Programmatic Picker 143 Playing a Random Song 144 Predicate Song Matching 145 Summary 147 Exercises 148 7 Working with and Parsing JSON 149 JSON 149 Benefits of Using JSON 149 JSON Resources 150 Sample App Overview 150 Accessing the Server 150 Getting JSON from the Server 151 Building the Request 151 Inspecting the Response 152 Parsing JSON 153 Displaying the Data 154 Posting a Message 155 Encoding JSON 156 Sending JSON to the Server 158 Summary 159 Exercise 159 8 Getting Started with iCloud 161 The Sample App 161 Setting Up the App for iCloud Support 162 Account Setup 162 Enabling iCloud Capabilities 163 Initializing iCloud 164 Introducing UIDocument 165 Subclassing UIDocument 165 Interacting with UIDocument 167 Interacting with iCloud 168 Listing Documents in iCloud 168 Detecting Conflicts in iCloud 172 Conflict Resolution 173 Key-Value Store Syncing 178 Summary 180 Exercises 180 9 Notifications 181 Differences Between Local and Push Notifications 181 Sample App 182 App Setup 182 Create Development Push SSL Certificate 184 Development Provisioning Profile 188 Custom Sound Preparation 194 Registering for Remote Notifications 194 Scheduling Local Notifications 196 Receiving Notifications 196 Push Notification Server 198 Basic Rails Setup 198 Add Support for Devices and Shouts 199 Device Controller 202 Shout Controller 202 Tying It All Together 204 Sending the Push Notifications 207 Handling APNs Feedback 207 Summary 208 Exercise 208 10 Bluetooth Networking with Game Kit 209 Limitations of Game Kit's Bluetooth Networking 209 Benefits of Game Kit's Bluetooth Networking 210 Sample App 210 The Peer Picker 215 Sending Data 218 Data Modes 219 Sending Data in the Sample App 219 Receiving Data 221 Receiving Data in the Sample App 221 State Changes 222 Advanced Features 223 Peer Display Name 223 Connecting Without the Peer Picker 223 Session Modes 225 Summary 225 Exercises 225 11 AirPrint 227 AirPrint Printers 227 Testing for AirPrint 229 Printing Text 229 Print Info 230 Setting Page Range 231 Error Handling 232 Starting the Print Job 232 Print Simulator Feedback 233 Print Center 234 UIPrintInteractionControllerDelegate 234 Printing Rendered HTML 236 Printing PDFs 237 Summary 239 Exercises 239 12 Core Data Primer 241 Deciding on Core Data 242 Core Data Managed Objects 243 Managed Objects 243 Managed Object Model 244 Managed Object Model Migrations 246 Creating Managed Objects 246 Fetching and Sorting Objects 247 Fetched Results Controller 248 The Core Data Environment 248 Persistent Store Coordinator 249 Persistent Store 249 Managed Object Context 249 Summary 250 13 Getting Up and Running with Core Data 251 Sample App 251 Starting a Core Data Project 252 Core Data Environment 254 Building Your Managed Object Model 256 Creating an Entity 257 Adding Attributes 257 Establishing Relationships 258 Custom Managed Object Subclasses 259 Setting Up Default Data 260 Inserting New Managed Objects 260 Other Default Data Setup Techniques 261 Displaying Your Managed Objects 262 Creating Your Fetch Request 262 Fetching by Object ID 264 Displaying Your Object Data 265 Using Predicates 267 Introducing the Fetched Results Controller 268 Preparing the Fetched Results Controller 268 Integrating Table View and Fetched Results Controller 271 Responding to Core Data Changes 273 Adding, Editing, and Removing Managed Objects 275 Inserting a New Managed Object 275 Removing a Managed Object 276 Editing an Existing Managed Object 277 Saving and Rolling Back Your Changes 278 Summary 279 Exercises 279 14 Language Features 281 Literals 282 Boxed Expressions 284 Automatic Reference Counting 285 Using ARC in a New Project 285 Converting an Existing Project to ARC 286 Basic ARC Usage 288 ARC Qualifiers 289 Blocks 290 Declaring and Using Blocks 290 Capturing State with Blocks 291 Using Blocks as Method Parameters 293 Memory, Threads, and Blocks 294 Properties 295 Declaring Properties 295 Synthesizing Properties 297 Accessing Properties 297 Dot Notation 298 Fast Enumeration 298 Method Swizzling 299 Summary 302 Exercises 302 15 Integrating Twitter and Facebook Using Social Framework 303 Social Integration 303 The Sample App 303 Logging In 304 Using SLComposeViewController 306 Posting with a Custom Interface 308 Posting to Twitter 308 Posting to Facebook 312 Creating a Facebook App 312 Accessing User Timelines 318 Twitter 318 Facebook 324 Summary 328 Exercises 328 16 Working with Background Tasks 329 The Sample App 330 Checking for Background Availability 330 Finishing a Task in the Background 331 Background Task Identifier 332 Expiration Handler 333 Completing the Background Task 333 Implementing Background Activities 335 Types of Background Activities 335 Playing Music in the Background 336 Summary 340 Exercises 340 17 Grand Central Dispatch for Performance 341 The Sample App 341 Introduction to Queues 343 Running on the Main Thread 343 Running in the Background 345 Running in an Operation Queue 347 Concurrent Operations 347 Serial Operations 349 Canceling Operations 350 Custom Operations 351 Running in a Dispatch Queue 353 Concurrent Dispatch Queues 353 Serial Dispatch Queues 355 Summary 357 Exercises 358 18 Using Keychain to Secure Data 359 Introduction to the Sample App 360 Setting Up and Using Keychain 360 Setting Up a New KeychainItemWrapper 361 Storing and Retrieving the PIN 362 Keychain Attribute Keys 363 Securing a Dictionary 364 Resetting a Keychain Item 366 Sharing a Keychain Between Apps 367 Keychain Error Codes 368 Summary 368 Exercises 369 19 Working with Images and Filters 371 The Sample App 371 Basic Image Data and Display 371 Instantiating an Image 372 Displaying an Image 373 Using the Image Picker 375 Resizing an Image 378 Core Image Filters 379 Filter Categories and Filters 379 Filter Attributes 382 Initializing an Image 384 Rendering a Filtered Image 385 Chaining Filters 386 Face Detection 387 Setting Up a Face Detector 388 Processing Face Features 388 Summary 390 Exercises 391 20 Collection Views 393 The Sample App 393 Introducing Collection Views 394 Setting Up a Collection View 395 Implementing the Collection View Data Source Methods 396 Implementing the Collection View Delegate Methods 399 Customizing Collection View and Flow Layout 401 Basic Customizations 401 Decoration Views 402 Creating Custom Layouts 406 Collection View Animations 411 Collection View Layout Changes 411 Collection View Layout Animations 412 Collection View Change Animations 414 Summary 415 Exercises 415 21 Introduction to TextKit 417 Sample App 417 Introducing NSLayoutManager 418 NSTextStore 418 Detecting Links Dynamically 421 Detecting Hits 422 Exclusion Paths 423 Content Specific Highlighting 425 Changing Font Settings with Dynamic Type 429 Summary 431 Exercises 431 22 Gesture Recognizers 433 Types of Gesture Recognizers 433 Basic Gesture Recognizer Usage 434 Introduction to the Sample App 434 Tap Recognizer in Action 435 Pinch Recognizer in Action 436 Multiple Recognizers for a View 438 Gesture Recognizers: Under the Hood 440 Multiple Recognizers for a View: Redux 441 Requiring Gesture Recognizer Failures 443 Custom UIGestureRecognizer Subclasses 444 Summary 445 Exercise 445 23 Accessing Photo Libraries 447 Sample App 447 The Assets Library 448 Enumerating Asset Groups and Assets 448 Permissions 449 Groups 451 Assets 455 Displaying Assets 458 Saving to the Camera Roll 462 Dealing with Photo Stream 465 Summary 467 Exercises 467 24 Passbook and PassKit 469 The Sample App 470 Designing the Pass 470 Pass Types 471 Pass Layout-Boarding Pass 471 Pass Layout-Coupon 471 Pass Layout-Event 472 Pass Layout-Generic 473 Pass Layout-Store Card 474 Pass Presentation 474 Building the Pass 476 Basic Pass Identification 477 Pass Relevance Information 478 Barcode Identification 478 Pass Visual Appearance Information 479 Pass Fields 479 Signing and Packaging the Pass 482 Creating the Pass Type ID 482 Creating the Pass Signing Certificate 484 Creating the Manifest 489 Signing and Packaging the Pass 489 Testing the Pass 490 Interacting with Passes in an App 490 Updating Passes Automatically 501 Summary 502 Exercises 502 25 Debugging and Instruments 503 Introduction to Debugging 503 The First Computer Bug 504 Debugging Basics with Xcode 504 Breakpoints 506 Customizing Breakpoints 507 Symbolic and Exception Breakpoints 508 Breakpoint Scope 508 Working with the Debugger 509 Instruments 511 The Instruments Interface 512 Exploring Instruments: The Time Profiler 514 Exploring Instruments: Leaks 516 Going Further with Instruments 519 Summary 519 Exercises 520 Index 521
... weniger
Autoren-Porträt von Kyle Richter, Joe Keeley
Kyle Richter is the founder of Dragon Forged Software, an award-winning iOS and Mac Development Company, and co-founder of Empirical Development, a for-hire iOS shop. Kyle began writing code in the early 1990s and has always been dedicated to the Mac platform. He has written several books on iOS development, as well as articles on many popular developer blogs and websites. He manages a team of more than 20 full-time iOS developers and runs day-to-day operations at three development companies. Kyle travels the world speaking on development and entrepreneurship; currently he calls Key West his home, where he spends his time with his border collie Landis. Joe Keeley is the CTO of Dragon Forged Software, and Project Lead at Empirical Development. Joe works on Resolve and Slender, and has led a number of successful client projects to completion. He has liked writing code since first keying on an Apple II, and has worked on a wide variety of technology and systems projects in his career. Joe has presented several different technical topics at iOS and Mac conferences around the U.S. Joe lives in Denver, Colorado, with his wife and two daughters, and hopes to get back into competitive fencing again in his spare time.
Bibliographische Angaben
- Autoren: Kyle Richter , Joe Keeley
- 2013, 576 Seiten, Maße: 17,7 x 22,8 cm, Kartoniert (TB), Englisch
- Verlag: Addison-Wesley
- ISBN-10: 0321856716
- ISBN-13: 9780321856715
- Erscheinungsdatum: 29.10.2013
Sprache:
Englisch
Kommentar zu "iOS Components and Frameworks"
Schreiben Sie einen Kommentar zu "iOS Components and Frameworks".
Kommentar verfassen