Mastering iOS Frameworks

,

Mastering iOS Frameworks

,

Wysyłka:
Niedostępna
Cena katalogowa 165,00 PLN brutto
Cena dostępna po zalogowaniu
Dodaj do Schowka
Zaloguj się
Przypomnij hasło
×
×
Cena 165,00 PLN
Dodaj do Schowka
Zaloguj się
Przypomnij hasło
×
×

Opis: Mastering iOS Frameworks - Kyle Richter, Joe Keeley

Apple's iOS SDK provides an amazingly powerful collection of frameworks. But it has been difficult to find detailed and useful knowledge about them-until now. With this book's practical insights and tested code, you can use Apple's frameworks to create apps that are more innovative and usable...faster and more reliable...more successful and profitable. Kyle Richter and Joe Keeley focus on intermediate-to-advanced techniques that professional iOS developers can use every day. Their far-reaching coverage ranges from social support to security, Core Data to iCloud-even Apple Watch. Organized as a convenient modular reference, nearly every chapter contains a complete Objective-C sample project. A multi-chapter Game Center case study shows how multiple iOS features can be combined to do even more. All source code may be downloaded at https://github.com/dfsw/icf. Coverage includes: * Adding physics-like animation and behaviors to UIViews * Using Core Location to determine device location, display customized maps, and implement geofencing * Making games and apps social with Leaderboards * Accessing music and image collections * Building health/fitness apps with HealthKit * Integrating with home automation via HomeKit * Passing data between platforms using JSON * Setting up local and remote notifications * Remotely storing and syncing data with CloudKit * Accessing app functionality with extensions * Effortlessly adding AirPrint support * Providing Handoff continuity between iOS 8 and Yosemite devices * Getting productive with Core Data * Integrating Twitter and Facebook via Social Framework * Performing resource-intensive tasks with Grand Central Dispatch * Securing user data with Keychain and Touch ID * Customizing collection views * Making the most of gesture recognizers * Creating and distributing "passes" * Debugging, instrumenting, and profiling apps1 UIKit Dynamics 1 The Sample App 1 Introduction to UIKit Dynamics 2 Implementing UIKit Dynamics 3 Gravity 3 Collisions 4 Attachments 7 Springs 8 Snap 9 Push Forces 10 Item Properties 11 In-Depth UIDynamicAnimator and UIDynamicAnimatorDelegate 13 Summary 14 2 Core Location, MapKit, and Geofencing 15 The Sample App 15 Obtaining User Location 16 Requirements and Permissions 16 Checking for Services 19 Starting Location Request 19 Parsing and Understanding Location Data 22 Significant Change Notifications 23 Using GPX Files to Test Specific Locations 23 Displaying Maps 25 Understanding the Coordinate Systems 25 MKMapKit Configuration and Customization 25 Responding to User Interactions 27 Map Annotations and Overlays 28 Adding Annotations 28 Displaying Standard and Custom Annotation Views 31 Draggable Annotation Views 34 Working with Map Overlays 35 Geocoding and Reverse-Geocoding 36 Geocoding an Address 36 Reverse-Geocoding a Location 40 Geofencing 43 Checking for Regional Monitoring Capability 43 Defining Boundaries 44 Monitoring Changes 45 Getting Directions 47 Summary 52 3 Leaderboards 53 The Sample App 53 Spawning a Cactus 55 Cactus Interaction 58 Displaying Life and Score 60 Pausing and Resuming 62 Final Thoughts on Whack-a-Cac 63 iTunes Connect 63 Game Center Manager 66 Authenticating 68 Common Authentication Errors 69 iOS 6 and Newer Authentication 71 Submitting Scores 73 Adding Scores to Whack-a-Cac 76 Presenting Leaderboards 77 Score Challenges 79 Going Further with Leaderboards 81 Summary 83 4 Achievements 85 iTunes Connect 85 Displaying Achievement Progress 87 Game Center Manager and Authentication 88 The Achievement Cache 89 Reporting Achievements 90 Adding Achievement Hooks 92 Completion Banners 93 Achievement Challenges 94 Adding Achievements into Whack-a-Cac 97 Earned or Unearned Achievements 98 Partially Earned Achievements 99 Multiple Session Achievements 101 Piggybacked Achievements and Storing Achievement Precision 102 Timer-Based Achievements 103 Resetting Achievements 104 Going Further with Achievements 105 Summary 107 5 Getting Started with Address Book 109 Why Address Book Support Is Important 109 Limitations of Address Book Programming 110 The Sample App 110 Getting Address Book Up and Running 111 Reading Data from the Address Book 113 Reading Multivalues from the Address Book 114 Understanding Address Book Labels 115 Working with Addresses 116 Address Book Graphical User Interface 118 People Picker 118 Programmatically Creating Contacts 123 Summary 126 6 Working with Music Libraries 127 The Sample App 127 Building a Playback Engine 129 Registering for Playback Notifications 129 User Controls 131 Handling State Changes 132 Duration and Timers 137 Shuffle and Repeat 138 Media Picker 138 Programmatic Picker 141 Playing a Random Song 141 Predicate Song Matching 142 Summary 144 7 Implementing HealthKit 145 Introduction to HealthKit 145 Introduction to Health.app 146 The Sample App 147 Adding HealthKit to a Project 148 Requesting Permission for Health Data 149 Reading Characteristic HealthKit Data 152 Reading and Writing Basic HealthKit Data 152 Reading and Writing Complex HealthKit Data 155 Summary 160 8 Implementing HomeKit 161 The Sample App 161 Introduction to HomeKit 162 Setting Up HomeKit Components 162 Developer Account Setup 163 Enabling HomeKit Capability 163 Home Manager 164 Home 166 Rooms and Zones 168 Accessories 170 Services and Service Groups 176 Actions and Action Sets 178 Testing with the HomeKit Accessory Simulator 179 Scheduling Actions with Triggers 181 Summary 181 9 Working with and Parsing JSON 183 JSON 183 Benefits of Using JSON 183 JSON Resources 184 The Sample App 184 Accessing the Server 184 Getting JSON from the Server 185 Building the Request 185 Inspecting the Response 186 Parsing JSON 186 Displaying the Data 187 Posting a Message 189 Encoding JSON 189 Sending JSON to the Server 191 Summary 193 10 Notifications 195 Differences Between Local and Push Notifications 195 The Sample App 196 App Setup 196 Creating Development Push SSL Certificate 200 Development Provisioning Profile 203 Custom Sound Preparation 208 Registering for Notifications 209 Scheduling Local Notifications 211 Receiving Notifications 212 Push Notification Server 213 Sending the Push Notifications 214 Handling APNs Feedback 215 Summary 216 11 Cloud Persistence with CloudKit 217 CloudKit Basics 217 The Sample App 218 Setting Up a CloudKit Project 218 Account Setup 218 Enabling iCloud Capabilities 220 CloudKit Concepts 220 Containers 220 Databases 221 Records 221 Record Zones 222 Record Identifiers 222 Assets 222 CloudKit Basic Operations 222 Fetching Records 223 Create and Save a Record 224 Update and Save a Record 226 Subscriptions and Push 227 Push Setup 227 Subscribing to Data Changes 227 User Discovery and Management 229 Managing Data in the Dashboard 233 Summary 235 12 Extensions 237 Types of Extensions 237 Today 237 Share 238 Action 238 Photo Editing 238 Document Provider 238 Custom Keyboard 238 Understanding Extensions 238 API Limitations 239 Creating Extensions 240 Today Extension 242 Sharing Code and Information between Host App and Extension 243 Apple Watch Extension 244 Summary 247 13 Handoff 249 The Sample App 249 Handoff Basics 249 Implementing Handoff 251 Creating the User Activity 252 Continuing an Activity 253 Implementing Handoff in Document-Based Apps 255 Summary 257 14 AirPrint 259 AirPrint Printers 259 Testing for AirPrint 261 Printing Text 261 Print Info 262 Setting Page Range 263 UISimpleTextPrintFormatter 263 Error Handling 264 Starting the Print Job 264 Printer Simulator Feedback 265 Print Center 266 UIPrintInteractionControllerDelegate 267 Printing Rendered HTML 268 Printing PDFs 269 Summary 270 15 Getting Up and Running with Core Data 271 Deciding on Core Data 272 Sample App 273 Starting a Core Data Project 274 Core Data Environment 275 Building Your Managed Object Model 278 Creating an Entity 280 Adding Attributes 280 Establishing Relationships 281 Custom Managed Object Subclasses 282 Setting Up Default Data 282 Inserting New Managed Objects 282 Other Default Data Setup Techniques 284 Displaying Your Managed Objects 285 Creating Your Fetch Request 285 Fetching by Object ID 287 Displaying Your Object Data 288 Using Predicates 290 Introducing the Fetched Results Controller 292 Preparing the Fetched Results Controller 292 Integrating Table View and Fetched Results Controller 294 Responding to Core Data Changes 296 Adding, Editing, and Removing Managed Objects 299 Inserting a New Managed Object 299 Removing a Managed Object 300 Editing an Existing Managed Object 301 Saving and Rolling Back Your Changes 301 Summary 303 16 Integrating Twitter and Facebook Using Social Framework 305 The Sample App 305 Logging In 306 Using SLComposeViewController 308 Posting with a Custom Interface 311 Posting to Twitter 311 Posting to Facebook 315 Creating a Facebook App 315 Accessing User Timelines 322 Twitter 322 Facebook 327 Summary 331 17 Working with Background Tasks 333 The Sample App 334 Checking for Background Availability 334 Finishing a Task in the Background 335 Background Task Identifier 336 Expiration Handler 337 Completing the Background Task 337 Implementing Background Activities 339 Types of Background Activities 339 Playing Music in the Background 340 Summary 344 18 Grand Central Dispatch for Performance 345 The Sample App 345 Introduction to Queues 347 Running on the Main Thread 347 Running in the Background 349 Running in an Operation Queue 351 Concurrent Operations 351 Serial Operations 353 Canceling Operations 354 Custom Operations 355 Running in a Dispatch Queue 357 Concurrent Dispatch Queues 357 Serial Dispatch Queues 359 Summary 361 19 Using Keychain and Touch ID to Secure and Access Data 363 The Sample App 364 Setting Up and Using Keychain 364 Setting Up a New KeychainItemWrapper 365 Storing and Retrieving the PIN 366 Keychain Attribute Keys 367 Securing a Dictionary 368 Resetting a Keychain Item 370 Sharing a Keychain Between Apps 370 Keychain Error Codes 372 Implementing Touch ID 372 Summary 374 20 Working with Images and Filters 375 The Sample App 375 Basic Image Data and Display 376 Instantiating an Image 376 Displaying an Image 377 Using the Image Picker 379 Resizing an Image 382 Core Image Filters 383 Filter Categories and Filters 383 Filter Attributes 386 Initializing an Image 388 Rendering a Filtered Image 389 Chaining Filters 390 Feature Detection 391 Setting Up a Face Detector 391 Processing Face Features 392 Summary 394 21 Collection Views 395 The Sample App 395 Introducing Collection Views 396 Setting Up a Collection View 397 Implementing the Collection View Data Source Methods 398 Implementing the Collection View Delegate Methods 401 Customizing Collection View and Flow Layout 403 Basic Customizations 403 Decoration Views 405 Creating Custom Layouts 408 Collection View Animations 413 Collection View Layout Changes 413 Collection View Layout Animations 414 Collection View Change Animations 416 Summary 417 22 Introduction to TextKit 419 The Sample App 420 Introducing NSLayoutManager 420 Detecting Links Dynamically 423 Detecting Hits 424 Exclusion Paths 425 Content Specific Highlighting 427 Changing Font Settings with Dynamic Type 432 Summary 433 23 Gesture Recognizers 435 Types of Gesture Recognizers 435 Basic Gesture Recognizer Usage 436 Introduction to the Sample App 437 Tap Recognizer in Action 438 Pinch Recognizer in Action 440 Multiple Recognizers for a View 441 Gesture Recognizers: Under the Hood 443 Multiple Recognizers for a View: Redux 444 Requiring Gesture Recognizer Failures 446 Custom UIGestureRecognizer Subclasses 448 Summary 448 24 Accessing the Photo Library 449 The Sample App 449 The Photos Framework 450 Using Asset Collections and Assets 451 Permissions 451 Asset Collections 453 Assets 457 Changes in the Photo Library 459 Asset Collection Changes 459 Asset Changes 462 Dealing with Photo Stream 464 Summary 465 25 Passbook and PassKit 467 The Sample App 468 Designing the Pass 468 Pass Types 469 Pass Layout-Boarding Pass 469 Pass Layout-Coupon 470 Pass Layout-Event 471 Pass Layout-Generic 471 Pass Layout-Store Card 472 Pass Presentation 473 Building the Pass 474 Basic Pass Identification 476 Pass Relevance Information 476 Barcode Identification 477 Pass Visual Appearance Information 478 Pass Fields 478 Signing and Packaging the Pass 481 Creating the Pass Type ID 481 Creating the Pass Signing Certificate 483 Creating the Manifest 488 Signing and Packaging the Pass 489 Testing the Pass 489 Interacting with Passes in an App 491 Updating Passes Automatically 501 Summary 502 26 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 510 The Instruments Interface 512 Exploring Instruments: The Time Profiler 514 Exploring Instruments: Leaks 516 Going Further with Instruments 519 Summary 519 Index 521


Szczegóły: Mastering iOS Frameworks - Kyle Richter, Joe Keeley

Tytuł: Mastering iOS Frameworks
Autor: Kyle Richter, Joe Keeley
Producent: Addison Wesley Publishing Company
ISBN: 9780134052496
Rok produkcji: 2015
Ilość stron: 576
Oprawa: Miękka
Waga: 0.91 kg


Recenzje: Mastering iOS Frameworks - Kyle Richter, Joe Keeley

Zaloguj się
Przypomnij hasło
×
×