HealthKit

The Health app serves as a central repository for health and fitness data in iOS. With the user’s permission, apps built with HealthKit can communicate with the Health app to access and share information. A user might permit a nutrition app, for example, to retrieve weight and activity data, so the app can define calorie consumption goals and make dietary recommendations. A nutrition app could also send the number of calories actually consumed to the Health app to include in global progress metrics and share with other apps.

Request access to health data for valid reasons. HealthKit is designed for use in health and fitness apps. People are unlikely to trust apps that request access to unnecessary or seemingly unrelated private health data.

Request access to health data only when needed. It makes sense to request access to weight information when filling out a weight-loss profile, for example, not immediately after the app launches. Requesting in-context health data helps communicate your app’s intentions.

Use the standard permission screen to clarify intent. People expect to see the system-provided permission screen when asked to approve access to health data. Add short but descriptive messages to this screen to clarify why the information is needed and the benefits of granting access. Avoid adding custom screens that replicate the standard permission screen’s behavior or content.

Manage health data sharing solely through the system’s privacy settings. People expect to globally manage access to health information in Settings > Privacy. Don’t build additional screens in your app that affect the flow of health data. Doing so results in confusion and an inefficient interface.

Don't use Health app icons, images, or screenshots. Like all Apple imagery, these designs are copyrighted and shouldn’t appear in your app or marketing materials. You can include an Activity ring element in your app to display Move, Exercise, and Stand progress. See Activity Rings.

Don't use the term HealthKit. HealthKit is the development framework used to access data stored in the Health app. If you need to explain how your app works with this data, use the term the Health app. For example, you might say that your app “saves information to the Health app” or “uses data from the Health app.”

For implementation details, see HealthKit.

Activity Rings

Apps can enhance their health and wellness offerings by displaying an Activity ring element that shows an individual’s progress toward Move, Exercise, and Stand goals. This element always contains three rings, whose colors and meanings match those provided by the Activity app.

Use Activity rings for Move, Exercise, and Stand information only. Activity rings are designed to consistently represent progress in these specific areas. Don’t attempt to replicate or modify Activity rings for other purposes. Never use Activity rings to display other types of data. Never show Move, Exercise, and Stand progress in another ring-like element.

Use Activity rings to show progress for a single person. Never use Activity rings to represent data for more than one person, and make sure it’s obvious whose progress is shown, such as by using a label, a photo, or an avatar.

Don’t use Activity rings for ornamentation. Activity rings should provide information to people, not embellish your app’s design. Never display Activity rings in labels or background graphics.

Don’t use Activity rings for branding. Use Activity rings strictly to display Activity progress in your app. Never use Activity rings in your app’s icon or marketing materials.

Maintain Activity ring and background colors. For a consistent user experience, the visual appearance of Activity rings must always be the same, regardless of the context in which they appear. Never change the look of the rings or background by using filters, changing colors, or modifying opacity. Instead, design the surrounding interface to blend with the rings. For example, enclose the rings within a circle. Always scale the rings appropriately so they don’t seem disconnected or out of place.

Maintain Activity ring margins. An Activity ring element must include a minimum outer margin of no less than the distance between rings. Never allow other elements to crop, obstruct, or encroach upon this margin or the rings themselves. To display an Activity ring element within a circle, adjust the corner radius of the enclosing view rather than applying a circular mask.

Differentiate other ring-like elements from Activity rings. Mixing different ring styles can lead to a visually confusing interface. If you must include other rings, use padding, lines, or labels to separate them from Activity rings. Color and scale can also help provide visual separation.

Provide app-specific information only in Activity notifications. The system already delivers Move, Exercise, and Stand progress updates. Don’t repeat this same information, and never show an Activity ring element in your app’s notifications. It’s fine to reference Activity progress in a notification, but do so in a way that’s unique to your app and doesn’t replicate the same information provided by the system.

For implementation details, see HKActivityRingView.