Highlighted

Can we exclude UIRequiredDeviceCapabilities from the Info.plist file?

Community Beginner ,
May 26, 2015

Copy link to clipboard

Copied

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.

TOPICS
Development

Views

4.5K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Can we exclude UIRequiredDeviceCapabilities from the Info.plist file?

Community Beginner ,
May 26, 2015

Copy link to clipboard

Copied

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.

TOPICS
Development

Views

4.5K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
May 26, 2015 1
Adobe Community Professional ,
May 26, 2015

Copy link to clipboard

Copied

What error do you get? Which version of Xcode is installed?

Arm64's 32 bit feature is Armv7 compatible, and so that requirement being in there doesn't cause problem. I'm not sure about OpenGL, but would expect later OpenGL to still be compatible.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
Community Beginner ,
May 26, 2015

Copy link to clipboard

Copied

We're running off Xcode 6.3.1 but we use the latest Flash CC and AIR to compile, so don't touch Xcode at any point. The error we get is in iTunes Connect itself, when we click "submit for review" - we manage to upload the build through Application Loader just fine. The error is:

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

The problem is that an old version of the app accepted devices with Armv6 and OpenGL 1, which AIR no longer allows because it specifies in the Info.plist that the UIRequiredDeviceCapabilities are armv7 and above, and opengles 2.0 and above. We've tried adding these through InfoAdditions in the app's .xml with no luck, so we need to just remove all UIRequiredDeviceCapabilities from the Info.plist - but if we edit it ourselves after packaging and re-package, we can no longer upload the app at all.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 26, 2015 0
Adobe Employee ,
May 27, 2015

Copy link to clipboard

Copied

Hi,

As per the Apple guidelines, you can check this link : Technical Q&A QA1623: Why am I getting device support errors when uploading my app?

And try out the possible solutions given here.


Regards

Adobe AIR Team


Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Community Beginner ,
May 27, 2015

Copy link to clipboard

Copied

But I already know WHY, and like I have said; I need to remove these requirements from the Info.plist which is what I am asking! I have spent all morning on the phone to Apple and they say this is something I need Adobe to assist with, which is why I am here. AIR adds these requirements automatically when compiling and I need to stop it!

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 1
Adobe Community Professional ,
May 27, 2015

Copy link to clipboard

Copied

I only ever did do one Armv6 app, and that one never got updated, so I haven't had your exact situation. Presumably you made the app in CS5?

Is the app in question an expensive one? If it's free, or if you can give it a low intro price, as a worse case you could make it be a new app.

Something else you could check into, if you didn't already, is resigning the IPA:

http://stackoverflow.com/questions/5160863/how-to-re-sign-the-ipa-file

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Community Beginner ,
May 27, 2015

Copy link to clipboard

Copied

CS6. It's free, but I can't make it be a new app because it existed on the app store half a year ago and the only way to make it new is to rename it and create a new app with this name, but that rquires submitting a new binary to change the name, which I can't do due to it stll not being able to submit. It seems Apple's rules mixed with AIR's forced requirements have got me stuck in an infinite loop of impossibility.

Resigning the IPA still creates this problem for me, along with a whole host of other issues.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Community Beginner ,
May 27, 2015

Copy link to clipboard

Copied

Sorry, I meant half a decade ago.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Adobe Community Professional ,
May 27, 2015

Copy link to clipboard

Copied

I have submitted quite a few apps, including ones that are Armv7/Arm64, and the info.plist just lists the Armv7 and OpenGL 2 lines. Those apps went through ok.

I looked at the info for the Armv6 app I made, and that doesn't include the values at all. So maybe that is the issue, not that the app once claimed to need Armv6, but that it once claimed not to care.

I think you must have used CS5, partly because 5.5 and later could only do Armv7, and mainly because CS6 only came out 2 1/2 years ago, which wouldn't match the half decade figure.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Community Beginner ,
May 27, 2015

Copy link to clipboard

Copied

I know the values just need to be removed, but I can't remove them as AIR inserts them automatically on build and removing them after building causes the app to get rejected for security reasons by Apple.

The original app was made by another developer many, many years ago. Back when the iPhone 4 was the latest iPhone. I started with CS6, but the app was previously available by somebody else half a decade ago under these requirements. All I want to do is remove these requirements from my Info.plist - why is that not something AIR allows?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Engaged ,
May 27, 2015

Copy link to clipboard

Copied

I'm totally grasping at straws, but maybe use the same AIR SDK that the app was originally compiled with?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Adobe Community Professional ,
May 27, 2015

Copy link to clipboard

Copied

That wouldn't work out I don't think. AIR was at 2.0 in those days, and it's a requirement to be 64 bit compatible now, which means AIR 17 or later.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Engaged ,
May 27, 2015

Copy link to clipboard

Copied

yeah, I figured....

I guess I don't quite understand why those keys are a problem - if you require iOS7, shouldn't all the devices that can run iOS7 (iphone 4 and up) also have armv7 and opengles 2.0?  We've got several games in review right now built with AIR that target iOS7 and up, targeting armv7 + arm64 (standard architectures), and no problems.

It must have something to do with the fact that you're updating a legacy app, I apologize but I'm just not seeing the connection yet. Pardon my ignorance.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Adobe Community Professional ,
May 27, 2015

Copy link to clipboard

Copied

It's Paper Street Games that is trying to do the update, I'm just taking guesses too! Those values in the info.plist have three states: if it's there it can be true or false, if it's not there it means you don't care. The oldest AIR apps didn't have those entries, which means that the app doesn't care what hardware is used. Now the values are there, it's now saying that it does care, and that you must have Armv7. That means the app has changed its opinion about Armv6, which rules out hardware that was previously allowed.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 27, 2015 0
Community Beginner ,
May 28, 2015

Copy link to clipboard

Copied

Basically Apple has a rule; if you set an iOS requirement (eg 7), then any hardware that doesn't support that version of iOS doesn't need to be supported. I set mine to iOS 7, which would normally mean I can drop all the old devices... but you have to still allow them in your hardware requirements and the app just wont appear for them ont he app store because of the iOS requirement that they can't meet. AIR still adds the AIR hardware requirements, which means the app still got auto-blocked by Apple.

I tried using the oldest AIR version I could find, but then the app got blocked for not being 64-bit. After a painfully long series of phonecalls, I convinced Apple to actually dig in on their side and push my changes manually, but I got them to change the name of my original app, so I could create a fresh new listing and start from scratch with the original name.

It was a horrible loop of Apple requiring something AIR couldn't deliver due to the last version of the app being very, very old. It's a one-in-a-million problem and not something Adobe should waste time trying to fix... although it would be nice in case somebody else encounters it in a few years and doesn't have the perserverance I had to keep bugging Apple.

Fixed through non-technical methods. Thanks for the help guys, it was the advice you were giving that got me to the final stage of pestering Apple until their arm was twisted.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
May 28, 2015 2
Participant ,
Aug 01, 2015

Copy link to clipboard

Copied

I just got the following auto error after pressing Submit for Review in iTunes Connect why updating a Flash built AIR app (from 2008) to iOS using AIR 18.  "The app's Info.plist can't contain values for the UIRequiredDeviceCapabilities key that would prevent this app from opening on any iOS device."

So was the only solution to contact Apple and try and get them to let it through their auto check?  I have another old app I want to update too.  And then all my other apps I am updating with Flash Builder.

I really don't want another store listing, etc.  That part of your message sounds scary - why did you need that?  Any advice would be appreciated before I contact Apple.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 01, 2015 0
Participant ,
Aug 05, 2015

Copy link to clipboard

Copied

Here is the message I got back from APPLE - "To enable 64-bit support in the project, we recommend using the default Xcode build setting “Standard architectures” to build a single binary with both 32-bit and 64-bit code. For more information about this announcement, refer to: https://developer.apple.com/news/?id=12172014b"

Adobe?  Can we make an IPA with both using Flash CS6?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 05, 2015 0
Engaged ,
Aug 06, 2015

Copy link to clipboard

Copied

you can with flash builder 4.7, so I don't see why you couldn't with flash CS6...  sorry, I don't use Flash Pro to make apps

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 06, 2015 0
Harry248 LATEST
Explorer ,
Nov 10, 2015

Copy link to clipboard

Copied

We are facing the same problem here trying to update an older app (developed by someone else). Setting the required iOS version doesn't help as long as the requirements defined by UIRequiredDeviceCapabilities are in a conflict with the values before. You have to remove those values and instead set the iOS version. But you definitely need to edit both which is currently only possible for the iOS version requirement.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Nov 10, 2015 0