I have revamped my old application to use healthKit as base and hence I added healthKit as required device capability and moved up the deployment target to iOS 8.0 to make sure that healthKit is available and from iPhone4s all the devices support iOS 8.0 and healthkit.
My app is build for iPhone (not a universal app). Now when I try to submit the app I am getting the below 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 that was supported by previous versions. For more information, see Understanding the UIRequiredDeviceCapabilities Key.”
Does that mean, I need to remove healthkit capability and write code to support iPhone4 also ?? Please guide me.
I encountered the same problem on an iPhone only target, and resolved the issue by removing the UIRequiredDeviceCapabilities key.
Related
How can I make sure my app on iOS AppStore only show compatibility for AVCaptureMultiCamSession enabled devices only?
I need to write a key under "Required Device Capabilities" in the info.plist file, but which key?
I didn't find the key in the documentation
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW3
iphone-ipad-minimum-performance-a12 Key worked well
https://developer.apple.com/documentation/bundleresources/information_property_list/uirequireddevicecapabilities
In my app has a Apple Health feature, it is optional and will work only if running on iOS 8.0 and above. But I want to support iOS 7.1, the Apple Health feature will not work in those device.
I can create ipa file and send to Itunes Connect, but it show error:
ERROR ITMS-90098: "This bundle is invalid. The key UIRequiredDeviceCapabilities contains value 'healthkit' which is incompatible with the MinimumOSVersion value of '7.1'."
How to make it support iOS 7.1 minimum? I see some app from Azumio and Runstatics, it is support iOS 7.1 and has Apple Health support for iOS 8.0 and above.
You'll need to remove healthkit from the UIRequiredDeviceCapabilities array in your app's Info.plist and set the deployment SDK to iOS 7.1.
So we're trying to release our app on iOS, but an old version supported devices AIR no longer supports and we're getting an error.
I've spoken to Apple and the fix for this is to limit our app to iOS 7 or above, which we've done with InfoAdditions. We still get the error because our AIR app still includes armv7 and opengles 2.0 as requirements in the Info.plist file.
Is there a way we can remove these UIRequiredDeviceCapabilities from the info.plist file? The app will still be limited to devices that support it due to the iOS 7 requirement we have added. From where I'm standing, it looks like we'd have to build the .ipa with AIR, edit the Info.plist and then re-package, but this has us completely lost.
application context: ios7, xcode 5, written with titanium appcelerator (sdk 3.1.3GA), previous version compatibility was as the image says (directly from itunes connect)
the complete error is
this bundle does not support one or more devices. supported by the revious app version. your app update must continue to support all devices previously supported. your declare supported device in Xcode with the Targeted Device Family build setting. Refer to QA1623 for additional information: https://developer.apple.com/library/ios/qa/qa1623/_index.html
Now. I checked in the building settings as what the message says and the results is attached as images.
as you can see, I should cover all the apple devices (iphone/ipad), but still giving me the same error. anybody knows why?
thanks in advance
Your app was previously supported iPad too. You cannot drop support for a device family (iPhone or iPad) in an update. Make your app universal in project settings>General tab.
The solution for my problem was to simply rebuild the archive from titanium (publish app to apple store) and then archive the app.
I have selected Universal device for universal target.
no issue were found.
so it seems actually there's no problem in the process, but still don't know why there was that device compatibility problem.
My app is started up in xcode 3.2. Now I have updated the xcode to 4.5. And I don't want to suport ipad. So I set the Devices setting to iphone. Then update my app.But itunes connect reject my update with error message:
This bundle does not support one or more of the devices supported by the previous app version. Your app update must continue to support all devices previously supported. You declare supported devices in Xcode with the Targeted Device Family build setting. Refer to QA1623 for additional information:https://developer.apple.com/library/ios/#qa/qa1623/_index.html
how can i solve this problem without removing my app from apple store
Your app update must continue to support all devices previously supported.
Says it all really. You're not allowed to declare support for a device, then withdraw it. The only exception is when you move up the lowest supported iOS version, you can drop older devices that no longer support that version of iOS.
The document you linked to contains your three possible options.
My problem was that by some reason i had the same bundle id across different targets (iphone target and ipad target)
this lead me to try of uploading ipad app with iphone bundle id.
Easy to miss so maybe it will help one