WatchKit App Development Essentials
This book is currently under development. Check back regularly for updates.
Table of Contents
- An Overview of WatchKit Apps
- Building an Example WatchKit App
- An Overview of the WatchKit App Architecture
- An Example Interactive WatchKit App using Actions and Outlets
- About the Example App
- Creating the TipCalcApp Project
- Adding the WatchKit App Target
- Designing the WatchKit App User Interface
- Reviewing the Interface Controller Class
- Establishing Outlet Connections
- Establishing Action Connections
- Implementing the sliderChange Action Method
- Implementing the calculateTip Action Method
- Hiding the Tip Label
- An Overview of WatchKit Tables
- The WatchKit Table
- Table Row Controller
- Row Controller Type
- Table Row Initialization
- Implementing a Table in a WatchKit App Scene
- Adding the Row Controller Class to the Extension
- Associating a Row Controller with a Row Controller Class
- Creating Table Rows at Runtime
- Inserting Table Rows
- Removing Table Rows
- Scrolling to a Specific Table Row
- A WatchKit Table Tutorial
- About the Table Example
- Creating the Table Project
- Adding the WatchKit App Target
- Adding the Table to the Scene
- Creating the Row Controller Class
- Establishing the Outlets
- Connecting the Table Outlet
- Creating the Data
- Adding the Image Files to the Project
- Testing the WatchKit App
- Adding a Title Row to the Table
- Connecting the Outlet and Initializing the Second Table Row
- A WatchKit Table Navigation Tutorial
- Table Navigation in WatchKit Apps
- Performing a Scene Transition
- Extending the TableDemoApp Project
- Adding the Detail Scene to the Storyboard
- Adding the Detail Interface Controller
- Adding the Detail Data Array
- Implementing the didSelectRow Method
- Modifying the awakeWithContext Method
- Adjusting the Interface Controller Insets
- WatchKit Page-based User Interfaces and Modal Interface Controllers
- A WatchKit Page-based Navigation Tutorial
- Creating the Page Example Project
- Adding the WatchKit App Target
- Adding the Image Files to the Project
- Designing the First Interface Controller Scene
- Adding More Interface Controllers
- Establishing the Segues
- Assigning Interface Controllers
- Adding the Timer Interface Controller
- Adding the Modal Segues
- Configuring the Context Data
- Configuring the Timer
- Playing the Alert Sound
- WatchKit App and Parent iOS App Communication
- A WatchKit openParentApplication Example Project
- About the Project
- Creating the Project
- Enabling Audio Background Mode
- Designing the iOS App User Interface
- Establishing Outlets and Actions
- Initializing Audio Playback
- Implementing the Audio Control Methods
- Adding the WatchKit App Target
- Designing the WatchKit App Scene
- Opening the Parent Application
- Handling the WatchKit Extension Request
- Testing the Application
- Handling User Input in a WatchKit App
- Sharing Data Between a WatchKit App and the Containing iOS App
- WatchKit Extension and iOS App File and Data Sharing - A Tutorial
- About the App Group Sharing Example
- Creating the Sharing Project
- Designing the iOS App User Interface
- Connecting Actions and Outlets
- Creating the App Group
- Performing Initialization Tasks
- Saving the Data
- Adding the WatchKit App Target
- Adding the WatchKit App to the App Group
- Designing the WatchKit App Scene
- Adding the WatchKit App Actions and Outlets
- Performing the WatchKit App Initialization
- Implementing the switchChanged Method
- Testing the Project
- Configuring Preferences with the WatchKit Settings Bundle
- A WatchKit Settings Bundle Tutorial
- About the WatchKit Settings Bundle Example
- Creating the WatchKit Settings Bundle Project
- Adding the WatchKit App Target
- Designing the WatchKit App Scene
- Adding the WatchKit Settings Bundle
- Adding a Switch Control to the Settings Bundle
- Adding a Slider Control to the Settings Bundle
- Adding a Multi Value Control to the Settings Bundle
- Setting Up the App Group
- Adding the App Group to the Settings Bundle
- Accessing Preference Settings from the WatchKit Extension
- Registering the Default Preference Settings
- Adding the Companion Settings Icons
- Testing the Settings Bundle Project
- An Overview of WatchKit Glances
- A WatchKit Glance Tutorial
- A WatchKit Context Menu Tutorial
- An Overview of WatchKit Context Menus
- Designing Menu Item Images
- Creating a Context Menu in Interface Builder
- Adding and Removing Menu Items in Code
- Creating the Context Menu Example Project
- Adding the WatchKit App Target
- Designing the WatchKit App User Interface
- Designing the Context Menu
- Establishing the Action Connections
- Testing the Context Menu App
- Working with Images in WatchKit
- Displaying Images in WatchKit Apps
- Images Originating in the WatchKit Extension
- Understanding Named Images
- Adding Images to a WatchKit App
- Caching Extension-based Images on the Watch Device
- Compressing Large Images
- Specifying the WKInterfaceImage Object Dimensions in Code
- Displaying Animated Images
- Template Images and Tinting
- A WatchKit Animated Image Tutorial