HealthKit in React Native
HealthKit read and write in React Native + Expo. Apple review rules, permission UX, and the data shapes that actually matter for a shipped fitness app.
HealthKit read and write in React Native + Expo. Apple review rules, permission UX, and the data shapes that actually matter for a shipped fitness app.
health
HealthKit read and write in React Native with the Apple review rules and permission UX I learned shipping a real fitness app.
Read access to steps, heart rate, sleep, workouts, and a long list of other signals on iOS. Write access too, but writes bring extra review scrutiny.
For most fitness apps the read side is enough. You are not trying to replace Apple Health. You are adding a context layer around it.
react-native-health is the one I ship with. Expo prebuild step, no Expo Go. AI App Factory ships the config plugin pre-wired.
NSHealthShareUsageDescription — required if you read any HealthKit data. Be specific: "to count your daily steps and show your weekly progress." Vague strings get rejected.NSHealthUpdateUsageDescription — required if you write. Expect stricter review if you write.Reviewers paste the exact strings into their notes. Copy-paste one from a tutorial and your app gets flagged as boilerplate.
For an app I put on the App Store in 2026, I only needed three HealthKit reads:
That was the whole data layer. Everything else was computed from those three.
HKStatisticsCollectionQuery.This integration is pre-configured in AI App Factory. One-time purchase.