Cover
Copyright
Preface
Audience
Organization of This Book
Additional Resources
Acknowledgments
Table of Contents
Chapter 1. Swift 2.0, Xcode 7 and Interface Builder
1.1 Handling Errors in Swift
Problem
Solution
Discussion
See Also
1.2 Specifying Preconditions for Methods
Problem
Solution
Discussion
See Also
1.3 Ensuring the Execution of Code Blocks Before Exiting Methods
Problem
Solution
Discussion
See Also
1.4 Checking for API Availability
Problem
Solution
Discussion
See Also
1.5 Categorizing and Downloading Assets to Get Smaller Binaries
Problem
Solution
Discussion
See Also
1.6 Exporting Device-Specific Binaries
Problem
Solution
Discussion
See Also
1.7 Linking Separate Storyboards Together
Problem
Solution
Discussion
See Also
1.8 Adding Multiple Buttons to the Navigation Bar
Problem
Solution
Discussion
See Also
1.9 Optimizing Your Swift Code
Problem
Solution
Discussion
See Also
1.10 Showing the Header View of Your Swift Classes
Problem
Solution
Discussion
See Also
1.11 Creating Your Own Set Types
Problem
Solution
Discussion
See Also
1.12 Conditionally Extending a Type
Problem
Solution
Discussion
See Also
1.13 Building Equality Functionality Into Your Own Types
Problem
Solution
Discussion
See Also
1.14 Looping Conditionally Through a Collection
Problem
Solution
Discussion
See Also
1.15 Designing Interactive Interface Objects in Playgrounds
Problem
Solution
Discussion
See Also
1.16 Grouping Switch Statement Cases Together
Problem
Solution
Discussion
See Also
1.17 Bundling and Reading Data in Your Apps
Problem
Solution
Discussion
See Also
Chapter 2. Apple Watch
2.1 Downloading Files Onto the Apple Watch
Problem
Solution
Discussion
See Also
2.2 Noticing Changes in Pairing State Between the iOS and Watch Apps
Problem
Solution
Discussion
See Also
2.3 Transferring Small Pieces of Data To and From the Watch
Problem
Solution
Discussion
See Also
2.4 Transferring Dictionaries in Queues To and From the Watch
Problem
Solution
Discussion
See Also
2.5 Transferring Files To and From the Watch
Problem
Solution
Discussion
See Also
2.6 Communicating Interactively Between iOS and watchOS
Problem
Solution
Discussion
See Also
2.7 Setting up Apple Watch for Custom Complications
Problem
Solution
Discussion
See Also
2.8 Constructing Small Complications with Text and Images
Problem
Solution
Discussion
See Also
2.9 Displaying Time Offsets in Complications
Problem
Solution
Discussion
See Also
2.10 Displaying Dates in Complications
Problem
Solution
Discussion
See Also
2.11 Displaying Times in Complications
Problem
Solution
Discussion
See Also
2.12 Displaying Time Intervals in Complications
Problem
Solution
Discussion
See Also
2.13 Recording Audio in Your Watch App
Problem
Solution
Discussion
See Also
2.14 Playing Local and Remote Audio and Video in Your Watch App
Problem
Solution
Discussion
See Also
Chapter 3. The User Interface
3.1 Arranging Your Components Horizontally or Vertically
Problem
Solution
Discussion
See Also
3.2 Customizing Stack Views for Different Screen Sizes
Problem
Solution
Discussion
See Also
3.3 Creating Anchored Constraints in Code
Problem
Solution
Discussion
See Also
3.4 Allowing Users to Enter Text in Response to Local and Remote Notifications
Problem
Solution
Discussion
See Also
3.5 Dealing with Stacked Views in Code
Problem
Solution
Discussion
See Also
3.6 Showing Web Content in Safari View Controller
Problem
Solution
Discussion
See Also
3.7 Laying Out Text-Based Content on Your Views
Problem
Solution
Discussion
See Also
3.8 Improving Touch Rates for Smoother UI Interactions
Problem
Solution
Discussion
See Also
3.9 Supporting Right-to-Left Languages
Problem
Solution
Discussion
See Also
3.10 Associating Keyboard Shortcuts with View Controllers
Problem
Solution
Discussion
See Also
3.11 Recording the Screen and Sharing the Video
Problem
Solution
Discussion
See Also
Chapter 4. Contacts
4.1 Creating Contacts
Problem
Solution
Discussion
See Also
4.2 Searching for Contacts
Problem
Solution
Discussion
See Also
4.3 Updating Contacts
Problem
Solution
Discussion
See Also
4.4 Deleting Contacts
Problem
Solution
Discussion
See Also
4.5 Formatting Contact Data
Problem
Solution
Discussion
See Also
4.6 Picking Contacts with the Prebuilt System UI
Problem
Solution
Discussion
See Also
4.7 Creating Contacts with Prebuilt System UI
Problem
Solution
Discussion
See Also
4.8 Displaying Contacts with Prebuilt System UI
Problem
Solution
Discussion
See Also
Chapter 5. Extensions
5.1 Creating Safari Content Blockers
Problem
Solution
Discussion
See Also
5.2 Creating Shared Links for Safari
Problem
Solution
Discussion
See Also
5.3 Maintaining Your App’s Indexed Content
Problem
Solution
Discussion
See Also
Chapter 6. Web and Search
6.1 Making Your App’s Content Searchable
Problem
Solution
Discussion
See Also
6.2 Making User Activities Searchable
Problem
Solution
Discussion
See Also
6.3 Deleting Your App’s Searchable content
Problem
Solution
Discussion
See Also
Chapter 7. Multitasking
7.1 Adding Picture in Picture Playback Functionality
Problem
Solution
Discussion
See Also
7.2 Handling Low Power Mode and Providing Alternatives
Problem
Solution
Discussion
See Also
Chapter 8. Maps and Location
8.1 Requesting the User’s Location a Single Time
Problem
Solution
Discussion
See Also
8.2 Requesting the User’s Location in Background
Problem
Solution
Discussion
See Also
8.3 Customizing the Tint Color of Pins on the Map
Problem
Solution
Discussion
See Also
8.4 Providing Detailed Pin Information with Custom Views
Problem
Solution
Discussion
See Also
8.5 Displaying Traffic, Scale and Compass Indicators on the Map
Problem
Solution
Discussion
See Also
8.6 Providing an ETA for Transit Transport Type
Problem
Solution
Discussion
See Also
8.7 Launching the iOS Maps App in Transit Mode
Problem
Solution
Discussion
See Also
8.8 Showing Maps in Flyover Mode
Problem
Solution
Discussion
See Also
Chapter 9. UI Testing
9.1 Preparing Your Project for UI Testing
Problem
Solution
Discussion
See Also
9.2 Automating UI Test Scripts
Problem
Solution
Discussion
See Also
9.3 Testing Text Fields, Buttons, and Labels
Problem
Solution
Discussion
See Also
9.4 Finding UI Components
Problem
Solution
Discussion
See Also
9.5 Long Pressing on UI Elements
Problem
Solution
Discussion
See Also
9.6 Typing Inside Text Fields
Problem
Solution
Discussion
See Also
9.7 Swiping on UI Elements
Problem
Solution
Discussion
See Also
9.8 Tapping on UI Elements
Problem
Solution
Discussion
See Also
Chapter 10. Core Motion
10.1 Querying Pace and Cadence Information
Problem
Solution
Discussion
See Also
10.2 Recording and Reading Accelerometer Data
Problem
Solution
Discussion
See Also
Chapter 11. Security
11.1 Protecting Your Network Connections with ATS
Problem
Solution
Discussion
See Also
11.2 Binding Keychain Items to Passcode and Touch ID
Problem
Solution
Discussion
See Also
11.3 Opening URLs Safely
Problem
Solution
Discussion
See Also
11.4 Authenticating the User with Touch ID and Timeout
Problem
Solution
Discussion
See Also
Chapter 12. Multimedia
12.1 Reading Out Text with the Default Siri Alex Voice
Problem
Solution
Discussion
See Also
12.2 Downloading and Preparing Remote Media for Playback
Problem
Solution
Discussion
See Also
12.3 Enabling Spoken Audio Sessions
Problem
Solution
Discussion
See Also
Chapter 13. UI Dynamics
13.1 Adding a Radial Gravity Field to Your UI
Problem
Solution
Discussion
See Also
13.2 Creating a Linear Gravity Field on Your UI
Problem
Solution
Discussion
See Also
13.3 Creating Turbulence Effects with Animations
Problem
Solution
Discussion
See Also
13.4 Adding Animated Noise Effects to Your UI
Problem
Solution
Discussion
See Also
13.5 Creating a Magnetic Effect Between UI Components
Problem
Solution
Discussion
See Also
13.6 Designing a Velocity Field on Your UI
Problem
Solution
Discussion
See Also
13.7 Handling Non-Rectangular Views
Problem
Solution
Discussion
See Also
Index
About the Author(s)