ERROR ITMS-90362 Submitting watch OS2 app with Healthkit to iTunes Connect

Have been trying to upload an archive of our app and watch app to iTunes Connect which includes support for iOS9 and watch OS 2 with healthkit.

I keep running into this error:

ERROR ITMS-90362" :Invalid Info.plist value. The value for the key 'UIRequiredDeviceCapabilities' in bundle {bundle name} is invalid. Expecting array with a single string value of watch-companion'


In order to get our app working since it relies on healthkit, we have included healthkit in our UIRequriedDeviceCapabilities and without it the app will never load.


<key>UIRequiredDeviceCapabilities</key>
<array>
 <string>healthkit</string> 
</array>


Using this causes the app to not be able to submit. If i change the string to 'watch-companion' as it seems to suggest, then the watch app will never start.


Here is an image of the error when uploading through Organizer:
https://cloud.githubusercontent.com/assets/1257664/9561131/c6a5b56e-4e30-11e5-9817-3b3d8614e1c5.png




Has anyone been able to submit a watch OS2 app for internal testing with healthkit capabilities?


EDIT: Just as a note, this is a universal (iPhone and iPad) app.


Thanks!

no luck yet.... same here, using healthkit for required device capabilities...

I know for WatchKit1 if we had a universal app we had to remove the ‘healthkit’ entry under the UIRequiredDeviceCapabilities in the plist file for the host target. We had to do this manually. This was really counter intuitive since you ended up submitting the app to the store with a big red error in the Capabilities section.


Maybe for watchOS2 we need to do the same thing but in the Watch Extension target also?


My universal app won’t even install at all on an iPad if the ‘healthkit’ UIRequiredDeviceCapabilities is there on the Watch Extension target. I haven't tried submitting to the store yet.

I tried this, and, while it does indeed allow me to submit to the App Store, it now produces an error when accessing HealthKit and appears not to be able to activate a workout session or read/write data.

Error Domain=com.apple.healthkit Code=4 "Missing com.apple.developer.healthkit entitlement." UserInfo={NSLocalizedDescription=Missing com.apple.developer.healthkit entitlement.}

I opened a support request and here is the response I got:


"In response to your finding, the problem is with Xcode being too helpful in setting the UIRequiredDeviceCapabilites property in the info.plist with the “healthkit” setting. Selecting the HealthKit setting on the Capabilities project page will


add the “HealthKit” entitlement to your app ID

add the “HealthKit” key to the info plist file

add the “HealthKit” entitlement to the entitlements file

link HealthKit.framework to the project


It the second item that is causing the app problems. the solution for now is to

After you have enabled the “HealthKit” capability, go to the Target Info tab. Twist down the “Custom iOS Target Properties”, then search for the “UIRequiredDeviceCapabilities” setting and find the “healthkit” item - delete it.


If you go back to the Capabilities page, under the “HealthKit” item, there will be a red alert icon to the left of the “Add the “HealthKit” key to your info plist file”. and the “Fix issue” button is enabled. Xcode recognizes that the info plist item has been deleted.


Rebuild the app and you should be good to go."

Hi Rajusa.


I'm having the very same problem. I tried the workaround suggested in your post but now an Ad-Hoc build of my app installs on the Watch jsut fine but never launches.

Do you have the same problem or do Ad Hoc builds install and launch fine for you? I've filed a radar yesteday but didn't receive a reply yet.


Thanks

Same here. This works to get it to bulid and submit to the App Store, but the watch app won't actually launch successfully.

I followed Rajusa's instructions, and then ended up having to delete the entire "Required device capabilities" line from the the extension's Target -> Info pane. Deleting from the plist left XML artifacts which may have been causing the problem. It now runs on the watch, tracks heart rate AND submits to iTunes. Yay!

This solved the problem. 🙂

ARGH, it turns out that iTunes double checks for this. When I click Submit for Review in iTunes Connect, it returns the following error:


The app's Info.plist can't contain values for the UIRequiredDeviceCapabilities key that would prevent this app from opening on any iOS device. For more information, see Understanding the UIRequiredDeviceCapabilities Key.


Am following up with iTunesConnect support.

@Coolioxlr and @Rajusa Have you actually been able to submit it to iTunes Connect successfully though? This works for me running the app on a Watch but breaks the ability to upload.

works fine for me. I just submitted again but not sure they are going to approve the app.

,



I had exact same issue and I came up with a temporary fix, submitted to the app store yesterday and wating for review .


First issue was

ERROR ITMS-90362" :Invalid Info.plist value. The value for the key 'UIRequiredDeviceCapabilities' in bundle {bundle name} is invalid. Expecting array with a single string value of watch-companion'


I have to turn off the `Healthkit` capabilities in the watchapp. Seems the watchos2 app is working fine with the capabilities off.


Then when I submit for review I got this issue


The app's Info.plist can't contain values for the UIRequiredDeviceCapabilities key that would prevent this app from opening on any iOS device. For more information, see Understanding the UIRequiredDeviceCapabilities Key.


Turns out turning on Healthkit will add healthkit to UIRequiredDeviceCapabilities


Open your containing apps info.plist and go to UIRequiredDeviceCapabilities, below `armv7` you will see `healthkit` there, remove the `healthkit` key and make a new build. It went through for me.


Hope it helps.

I did the same thing – delete the healthkit keys from both watch and phone app plist.

ERROR ITMS-90362 Submitting watch OS2 app with Healthkit to iTunes Connect
 
 
Q