'iOS app reject because of healthkit

I am using HealthKit in my app to read users daily steps data and for that I enable HealthKit in my app.

I uploaded app without NSHealthShareUsageDescription and NSHealthUpdateUsageDescription key in info.plist.

Apple rejected the app as follow and says this both key must be in info.plist.

NSHealthUpdateUsageDescription - Read your daily steps data for calorie count data

NSHealthShareUsageDescription - Share workout data with apps.

I added that key and upload again.

now app rejected with this reason.

Design - 4.2.1 Your app uses the HealthKit or CareKit APIs but does not indicate integration with the Health app in your Application.

any idea how can I approve it?



Solution 1:[1]

From the App Store Review Guidelines

4.2.1 Apps should use APIs and frameworks for their intended purposes and indicate that integration in their app description. For example, the HomeKit framework should provide home automation services; and HealthKit should be used for health and fitness purposes and integrate with the Health app.

It sounds to me that Apple have looked at your app and for some reason, it looks to them as if you're not actually using the step data for anything useful to the user. Does your app actually use the step data and present it back to the user in any meaningful way?

The only other thing I think they might mean is that they don't like the wording you chose for NSHealthShareUsageDescription/NSHealthUpdateUsageDescription (you're supposed to clearly state the purpose why your app needs access to health data).

Edit: Another thought, perhaps your app description doesn't mention that it's an app that uses healthkit/step data.

Solution 2:[2]

I recently had the same issue and found the solution.

I was able to pass the review with clearly stating “this app integrates with the Health app” in the app description of App Store Connect. That was a weird case cuz the rejection caused the meta data and seems like I didn't have to revise my app any more although the review status was "Binary Rejected".

Solution 3:[3]

just update your app description on the AppStore to indicate your app integrates with apple health app (HealthKit) and why it used (purpose). for example add to your app description something like : we integrate with the health app (HealthKit) to read and track your steps data and show them in a beautiful way.

Solution 4:[4]

Got rejected thrice because of this before being accepted. Here is what I was doing wrong:

I only had HealthKit Capability for my Debug Profile. Make sure that you have HealthKit Capability enabled for your Release Profile as well or just add it for "All" enter image description here

I usually have different Xcode signing profiles for development, testing and production. Make sure that you choose the correct signing profile when submitting your app for review. Verify the capabilities added to each profile from Apple Developer > Certificates, Identifiers, Profiles > Profiles > Capabilities

Moreover, I added app screenshots showing how health data was used to the app store screenshot section - since they mention in the review that you need to have indicators in the User Interface as well to indicate HealthKit integration. I also updated the app description to say that my app integrates with the Apple Health App.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Columbo
Solution 2
Solution 3 Ahmed Komsan
Solution 4 rasulfahad