Mastering IOS Frameworks
Home > Computing and Information Technology > Computer programming / software engineering > Apps programming > Mastering iOS Frameworks: Beyond the Basics(Developer's Library)
Mastering iOS Frameworks: Beyond the Basics(Developer's Library)

Mastering iOS Frameworks: Beyond the Basics(Developer's Library)


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

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 apps

Table of Contents:
1 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

About the Author :
Kyle Richter is the Chief Executive Officer at MartianCraft, an award-winning Mobile Development Studio. Kyle began developing software in the early 1990s and has always been dedicated to the Apple ecosystem. He has authored and coauthored several books on iOS development, includingBeginning iOS Game Center Development, Beginning Social Game Development, andiOS Components and Frameworks. Between running day-to-day operations at MartianCraft, Kyle travels the world speaking on development and entrepreneurship. He currently calls the Florida Keys home, where he spends his time with his border collie. He can be found on Twitter at @kylerichter.   Joe Keeley is a Partner and Lead Engineer at MartianCraft. Joe provides technical leadership on iOS projects for clients, 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 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. He can be reached on Twitter at @jwkeeley.


Best Sellers


Product Details
  • ISBN-13: 9780134052557
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Language: English
  • Series Title: Developer's Library
  • Weight: 1 gr
  • ISBN-10: 0134052552
  • Publisher Date: 16 Apr 2015
  • Binding: Digital download
  • No of Pages: 576
  • Sub Title: Beyond the Basics


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Mastering iOS Frameworks: Beyond the Basics(Developer's Library)
Pearson Education (US) -
Mastering iOS Frameworks: Beyond the Basics(Developer's Library)
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Mastering iOS Frameworks: Beyond the Basics(Developer's Library)

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!