Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App Store Connect Operation Error: ITMS-90164 [] for key com.apple.developer.healthkit.access

I am now getting this error when trying to upload to the app store, but I haven't made any changes to my healthkit capability and it everything looks fine (see images). Why is it saying the value is [] enter image description here

<

?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>aps-environment</key>
    <string>development</string>
    <key>com.apple.developer.healthkit</key>
    <true/>
    <key>com.apple.developer.healthkit.access</key>
    <array/>
    <key>com.apple.developer.icloud-container-identifiers</key>
    <array>
        <string>iCloud.codes.myndarc.newFitnessApp</string>
    </array>
    <key>com.apple.developer.icloud-services</key>
    <array>
        <string>CloudKit</string>
    </array>
    <key>com.apple.security.application-groups</key>
    <array>
        <string>group.com.myndarc.newFitnessApp</string>
    </array>
</dict>
</plist>

enter image description here

like image 827
GarySabo Avatar asked Jan 14 '21 02:01

GarySabo


3 Answers

I wouldn't change our code too much, this appears to be something on Apple's end that hopefully they'll fix soon. https://developer.apple.com/system-status/

like image 58
GarySabo Avatar answered Nov 15 '22 17:11

GarySabo


Remove the following line in the .entitlements file

<key>com.apple.developer.healthkit.access</key>
<array/>

This not work :(. Binary will be rejected ITMS-90000: This bundle is invalid - $message.

What work for me: First, when you enable your app’s HealthKit capabilities: you must also select the Clinical Health Records checkbox! enter image description here

Next, you must provide a Health Records Usage string in your app’s Info.plist file. enter image description here

like image 34
kiril kiroski Avatar answered Nov 15 '22 19:11

kiril kiroski


Update: It looks like Apple fixed this issue yesterday (January 21, 2021). I don't see the error anymore.


I have the same issue. If I read that error correctly it fails because the value for com.apple.developer.healthkit.access is different in the App Store provisioning profile and in the entitlements file.

And it's indeed different.

When I enable HealthKit capability from Xcode, it adds this to the entitlements file:

    <key>com.apple.developer.healthkit</key>
    <true/>
    <key>com.apple.developer.healthkit.access</key>
    <array/>

When I create an App Store provisioning profile from https://developer.apple.com/account/resources/profiles/list, then download it and open it with a text editor I see this:

                <key>com.apple.developer.healthkit</key>
        <true/>
                <key>com.apple.developer.healthkit.access</key>
        <array>
                <string>health-records</string>
        </array>

I'm not sure if it's possible to set what the provisioning profile sets for com.apple.developer.healthkit.access, so it looks like the only way to make them have the same value is to enable "Clinical Health Records" HealthKit capability from Xcode, so that it adds it to the entitlements file too. This doesn't sound like the right solution, since it forces you to enable "Clinical Health Records" even if you don't use it. It looks to me like this is a recent change on Apple's side that changed how the value from the entitlement file is compared to the one in the provisioning profile, as it didn't happen before and I didn't change neither the entitlements file nor the provisioning profile since the last successful app release.

Removing com.apple.developer.healthkit.access key from entitlements file is, in my opinion, also not a correct solution since the HealthKit capability is removed in "Signing & Capabilities" UI from Xcode when you do that. And also I see here some people reported that the app does not pass the App Store review when you do that. Also it's Xcode that adds that to entitlements when HealthKit capability is added, why would we need to remove that manually?

like image 44
mihai1990 Avatar answered Nov 15 '22 18:11

mihai1990