Question

I have an iOS app on iTunes and I just tried to update it with some new features such as push notifications, location based services and gps. I got the bundle is invalid error due to the new UIRequiredDeviceCapabilities being more restrictive than the previous version.

I found this on iTunesConnect website

You are permitted to increase the number of devices your app runs on, but you cannot remove devices you have previously permitted. Removing them will prevent users who have previously downloaded your app from updating it.

And also this answer here on SO

  1. Rename your app in iTunes Connect by submitting a new update which changes the App name.
  2. Create a new App in iTunes Connect and enter the original name of your App. (The original name of the App you renamed in step 1)
  3. Delete your old app which you have renamed in step 1

Is that the only way to overcome this problem? It looks pretty hacky to me, I am sure many developers faced this problem as we usually get new requirements from the customers.

Also, with the latest iTunes Connect update, allowing to have several versions online and accessing the older versions, this restriction looks very stupid. Actually on the e-mail notifying of those latest changes it reads:

Users who have already purchased your app are now able to download previous versions, allowing them to use your app with older devices that may no longer be supported by the current version.

So, how do I do to release a new version with new capabilities? It clearly states that new version can drop support for older devices, doesn't it?

Was it helpful?

Solution

I found this link talking about the issue. You can not define the capabilities as optional and increasing the minimum iOS supported version will still miss the capabilities (as you could not add them either).

What I am trying to do is do a runtime check for the capabilities I need and then use them, however I wonder if the app will get rejected by not specifying them. I am currently using the dialer to make calls from the app, I am checking for the support before using it and the capability is not on the plist, so maybe it should be fine.

Anyway this sucks, if I want to drop support for some devices I should be able to do so >:-(

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top