Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Manny de la Torriente, Gheorghe Chesler, Ahmed Bakir
Program the Internet of Things with Swift for iOS
Cover
Title
Copyright
Contents at a Glance
Contents
About the Authors
About the Technical Reviewer
Introduction
Chapter 1: Building Your First Internet of Things App
Ahmed Bakir
Setting up the Project
Building the User Interface
Creating the Table View Controller
Creating the Map View Controller
Requesting Location Permission
Accessing the User’s Location
Displaying the User’s Location
Populating the Table View
Populating the Map
Summary
Chapter 2: Getting Started with Swift
Ahmed Bakir
Why Use Swift?
Basic Swift Syntax
Calling Methods (Hello World)
Defining Variables
Compound Data Types
Conditional Logic
Enumerated Types
Loops
Object-Oriented Programming in Swift
Building a Class
Protocols
Method Signatures
Accessing Properties and Methods
Instantiating Objects
Strings
Formatting Strings
Collections
Casting
Swift-Specific Language Features
Optionals
Try-Catch Blocks
Mixing Objective-C and Swift in Projects
Calling Swift from Objective-C
Summary
Chapter 3: Accessing Health Information Using HealthKit
Introduction
Getting Started
Setting Up the User Interface
Setting Up the Project for HealthKit
Prompting the User for HealthKit Permission
Retrieving Data from HealthKit
Displaying Results in a Table View
Fetching Background Updates
Summary
Chapter 4: Using Core Motion to Save Motion Data
Introduction
Using Core Motion to Access Motion Hardware
Requesting User Permission for Motion Activity
Querying for Step Count
Detecting Live Updates to Step Count
Detecting Activity Type
Saving Data to HealthKit
Summary
Chapter 5: Integrating Third-Party Fitness Trackers and Data Using the Fitbit API
Gheorghe Chesler
Introduction to the Fitbit API
The RESTful API
Fitbit RESTful API Implementation Details
Setting Up a Local Playground with Apache
The OAuth1.0a Authentication Model
The Fitbit OAuth Implementation
Fitbit API Call Rate Limits
Making async Calls
Using callbacks as Parameters
Setting up a Fitbit-compatible iOS Project
The View Controller
The Logger Library
Setting up a Basic Set of Crypto Functions
The API Client Library
The OAuth Library
Testing What We Have so Far
Making requests to the Fitbit API
Retrieving the User Profile
Retrieving and Setting Data in the API
OAuth versions: Working in both worlds
Summary
Chapter 6: Building Your First watchOS App
Introduction
watchOS Appsvs. iOS Apps
Setting Up Your Project
Debugging your watchOS App
Adding a Table to your watchOS App
Defining the Table
Fetching Data from your iOS App
Building a Detail Page with a Custom Layout
Presenting the Detail Interface Controller
Summary
Chapter 7: Building an Interactive watchOS App
Introduction
Using Force Touch to Present Menus
Resetting the Location List
Presenting a Detail View Controller
Simulating Force Touch
Adding Buttons to an Interface Controller
Passing Information Between Interface Controllers
Using a Delegate to Pass Information on Dismissal
How to Add Notes Using Text Input
Sending Data Back to the Parent iOS App
Summary
Chapter 8: Building a Stand-Alone watchOS App
Using Core Location to Request Current Location
Reverse Geocoding an Address
Using NSTimer to Create Reminders
Making Network Calls from Your watchOS App
Handling a JSON Response
Summary
Chapter 9: Connecting to a Bluetooth LE Device
Manny de la Torriente
Introduction to the Apple Bluetooth stack
Key Terms and Concepts
Core Bluetooth Objects
Building Your First Bluetooth LE Application
Backlog
Base Application and Home Scene
Central Role Scene
Peripheral Role Scene
Editable Text
Setting Up the Project
Building the Interface
Using a Central Manager
Connecting to a Bluetooth LE Device in Your App
Building the Interface
Keeping Things Clean with Delegation
Scanning for Peripherals
Discover and Connect
Explore Services and Characteristics
Subscribe and Receive Data
Peripheral Role
Building the Interface
Delegate Setup
Setting up a Service
Advertising Services
Sending Data
Enabling Your App for Background Communication
Bluetooth Best Practices
Central Role Devices
Peripheral Role Devices
Summary
Chapter 10: Building Location Awareness with iBeacons
Manny de la Torriente
Introduction to iBeacons
iBeaconAdvertisement
iBeaconAccuracy
Privacy
Region Monitoring
Ranging
Building the iBeaconApp Application
Creating the Project
Setting Background Capabilities
Building the Home Scene
Setting Up UI Elements
Creating an Outlet Connection
Setting up Constraints
Creating a Custom Button
Detecting Bluetooth State
Building the Region Monitor Scene
The RegionMonitor Class
Using the Delegation Pattern
Creating the RegionMonitor Class
Delegate Methods
RegionMonitor Methods
Authorization and Requesting Permission
CLLocationManagerDelegate Methods
Building the iBeacon Scene
The BeaconTransmitter Class
Defining the BeaconTransmitterDelegate Protocol
Summary
Chapter 11: Home Automation Using HomeKit
Manny de la Torriente
Introduction to HomeKit Concepts
HomeKit Delegation Methods
Building a HomeKit Application
Requirements
HomeKit Accessory Simulator
Creating the Project
Enabling HomeKit
Building the Homes Interface
Implementing the Home Manager Delegate Methods
Adding a New Home to the Home Manager
Removing an Accessory from a Home
Transitioning to the Services Scene
Running the Application
Adding Accessories
Summary
Chapter 12: Building an App That Interacts with a Raspberry Pi
Gheorghe Chesler
About Your Raspberry Pi
Control Interfaces on your Raspberry Pi
Setting up your Raspberry Pi
Choosing the Scripting Language
Configuring I2C
Configuring GPIO
Install PyGlow
Providing an API to Control your Device
Install Flask
Setting up an iOS Project for Our App
Allowing Outgoing HTTP Calls
The View Controller
The Logger Library
Summary
Chapter 13: Using Keychain Services to Secure Data
Hardware Security on iOS Devices
Securing the File Data
The Apple Keychain
The Apple Keychain Services
Components of a Keychain Item
Implementing Keychain Services for Storing Passwords
Retrieving Data from Keychain Services
Invalidating Keychain Service Records
Setting Up an Application to Test Keychain Services
The View Controller
Summary
Chapter 14: Using Touch ID for Local Authentication
Manny de la Torriente
Introduction to Touch ID
LocalAuthentication Use Cases
Building a Touch ID Application
Creating the Project
Building the Interface
Implementing the UITableView Methods
Integrating Touch ID for Fingerprint Authentication
Evaluating Authentication Policies
Touch ID Authentication without Keychain
User-Defined Fallback for Authentication
Run the Application
Things to Remember
Summary
Chapter 15: Using Apple Pay to Accept Payments
Gheorghe Chesler
Apple Pay vs. Alternative Payment Systems
Apple Pay Prerequisites
Using Apple Pay to accept payments
Configuring your Environment for Apple Pay
Implementing Apple Pay payments with Stripe
The View Controller code
Summary
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset