Mastering iOS Frameworks by Kyle Richter at Bookstore UAE
close menu
Bookswagon
search
My Account
Home > Computer programming / software engineering > Apps programming > Mastering iOS Frameworks: Beyond the Basics
Mastering iOS Frameworks: Beyond the Basics

Mastering iOS Frameworks: Beyond the Basics


     0     
5
4
3
2
1



Out of Stock


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

Mastering iOS Frameworks will help intermediate-to-advanced level students leverage iOS’s powerful components and frameworks to build apps with outstanding performance, reliability, interactivity, media support, and customization. Example-rich coverage of topics ranges from social support to security, Core Data, networking and iCloud, and graphics and interface. Each chapter contains a complete sample project that walks students through integrating its technology into a typical iOS app.



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: 9780134052496
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 228 mm
  • No of Pages: 576
  • Sub Title: Beyond the Basics
  • Width: 179 mm
  • ISBN-10: 0134052498
  • Publisher Date: 07 May 2015
  • Binding: Paperback
  • Language: English
  • Spine Width: 31 mm
  • Weight: 906 gr


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
Pearson Education (US) -
Mastering iOS Frameworks: Beyond the Basics
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

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

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    Your IP: 216.73.217.9 IN