Building a Workout App for Apple Watch

May 11 2020Written by Manektech Team

WatchOS

WatchOS is used in designing the applications for Apple watch hence Before going into the details of watchKit we will first get to understand what is Apple Watch and how it differs from other watches. ManekTech is the top Apple watch app development company in USA and India that leverages the potential of wearables technology to experience deeper user engagement.

What is Apple Watch?

The Apple Watch is a smartwatch that makes connection to your iphone to give birth to letter making notes, make calls, send teaching books and run telephone operations. There are many things the Apple Watch can do.

This is more than just an iPhone on your wrist. When you understand what you can do with the Apple Watch it becomes an amazing tool to help you get through your day, be more productive, lose weight, get in shape. Some people even use the Apple Watch to make money.

What Can the Apple Watch Do?
The Apple watch can do the following exciting things, some of that even without using the iPhone.

1. A display that never sleeps.
With the Always-On Retina display, you always see the time and your watch face.
2. Apps to keep an eye on your heart.
Get a quick read on your heart rate or check your heart rhythm with the ECG app.
3. It tells you when things are getting a little loud.
The Noise app alerts you when decibels rise to levels that can impact your hearing.
4. Lets you track your cycle with a tap.
The Cycle Tracking app makes it easy to log information about your menstrual cycle.
5. Can be customised any way you like.
Change the look of your watch just by swapping out straps.
6. Helps you crush your fitness goals.
With advanced workout metrics, GPS and water resistance to 50 metres, it’s made for all the ways you exercise.
7. Motivates you to move, exercise and stand.
The Activity rings track your progress and inspire you to sit less, move more and exercise every day. You can even compete with friends in challenges.
8. Streams your favourite 60 million songs.
Listen to the entire Apple Music library and the podcasts you love.
9. This watch has a great sense of direction.
With a compass and ground elevation, it’s made for life’s twists and turns and ups and downs.
10. It gets apps in a snap.
The App Store is on your wrist, so you can find and download the latest apps in seconds.
11. lets you go without your phone.
With cellular you can call from the trail, text from the surf or stream music from the slopes. All with just your watch.
12. It calls for help when you need it.
With Emergency SOS and fall detection, Apple Watch can automatically call for assistance.
13. Talk the ear off Siri.
Search a topic online, identify a song with Shazam, start a workout or lower the shades.
14. Tells time
With more than a hundred watch faces and infinite ways to personalise them, there’s never been a watch like this.

How to Build an App?
We will be using several Apple tools to build, run and test our app.
Hardware:

  • iPhone
  • Apple Watch

Software, Language and Libraries:

  • Swift
  • HealthKit
  • WatchKit

HealthKit in WatchOS

HealthKit provides a central repository for health and fitness data on iPhone and Apple Watch. With the user’s permission, apps communicate with the HealthKit store to access and share this data.

HealthKit apps take a collaborative approach to building this experience. Your app does not need to provide all of these features. Instead, you can focus just on the subset of tasks that most interests you.

For example, users can select their favorite weight-tracking, step-counting, and health challenge app, each calibrated to their personal needs. Because HealthKit apps freely exchange data (with user permission), the combined suite provides a more customized experience than any single app on its own. For example, when a group of friends joins a daily step-counting challenge, each person can use their preferred hardware device and app to track their steps, while everyone in the group uses the same social app for the challenge.

HealthKit is also designed to manage and merge data from multiple sources. For example, users can view and manage all of their data in the Health App, including adding data, deleting data, and changing an app’s permissions. Therefore, your app needs to handle these changes, even when they occur outside your app.

Steps to Set Up a HealthKit Integration Project
Setting up a project that integrates HealthKit is simple with the following steps!

Overview

Before using HealthKit, you must perform the following steps:
1. Enable HealthKit in your app.
2. Ensure that HealthKit is available on the current device.
3. Create your app’s HealthKit store.
4. Request permission to read and share data.

HealthKit’s Availability
Call the isHealthDataAvailable() method to confirm that HealthKit is available on the user's device.
Create the HealthKit Store
If HealthKit is both enabled and available, instantiate an HKHealthStore object for your app with the following code.
let healthStore = HKHealthStore()
Configure the Project

To build and run this sample on your devices, you must first change the bundle IDs to the pattern described in order to provision the apps correctly in your environment:
1. iOS target: <Your iOS app bundle ID>
2. WatchKit app target: <Your iOS app bundle ID>.watchkitapp
3. WatchKit Extension target: <Your iOS app bundle ID>.watchkitapp.watchkitextension

Follow these steps to change the bundle IDs:
1. Open the sample with the latest version of Xcode.
2. Select the top-level project.
3. For the three targets, change the bundle identifier to the appropriate value.
4. For the targets, select the correct team in the Signing section (next to Team) to let Xcode automatically manage your provisioning profile.

Additionally, configure the Info.plist files with the correct bundle IDs:
1. Open the Info.plist file of the WatchKit app target, and change the value of WKCompanionAppBundleIdentifier key to <Your iOS app bundle ID>.
2. Open the Info.plist file of the WatchKit Extension target, and change the value of the NSExtension > NSExtensionAttributes > WKAppBundleIdentifier key to <Your iOS app bundle ID>.watchkitapp.

Request Authorization

The app must request authorization from the user to access the data and save the workout.

Create the Workout Session and Live Workout Builder

the app creates an HKWorkoutConfiguration object, and sets its properties to describe the type of activity corresponding to this workout.

The HKWorkoutSession, which is required in order to save a workout in the HealthKit store. The HKLiveWorkoutBuilder object automates the collection of HealthKit quantity types that the app displays to the user during the workout.

Set the Data Source

the data source infers the quantity types to collect. The app sets the HKLiveWorkoutDataSource object as the workout builder object’s data source.

Also, ensure that you have given the permission of healthkit in your info.plist.

For data reading :

<key>NSHealthShareUsageDescription</key>

<string>Allow my app to access health data from HealthKit.</string>

For data writing:

<key>NSHealthUpdateUsageDescription</key>

<string>Allow my app to write data on Health application.</string>

We have mentioned and described only the basic steps for your understanding. For the detailed description, kindly click on the below github link.  We Hope it would be useful to you in creating your own Apple watch application. ManekTech is leading Apple Watch App Development company in USA, India Hire expert Apple Watch app developers to build custom Apple Watch apps. Contact us now to get your apple watch app development.

Contact us

Here to Help ambitious people TRANSFORM the Digital Solutions!