• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Error creating arm64 compatible ANEs

Participant ,
Dec 17, 2014 Dec 17, 2014

Copy link to clipboard

Copied

I'm trying to create ANEs with arm64 support with no success so far.

My native libraries are compiled for both armv7 and arm64 since lipo -info confirms so, however ADT still outputs:

"Error: Apple App Store allows only universal applications. This ANE must have a universal iOS binary. Please change build settings in Xcode project to "Standard Architecture" to create universal library."

Do I need to change something in my ADT commandline? I tried several ANEs and had problems with all of them. Could anyone provide further information or tips?

TOPICS
Air beta

Views

13.0K

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
community guidelines
Contributor ,
Jan 27, 2015 Jan 27, 2015

Copy link to clipboard

Copied

Just a note regarding a different explanation, as I've had the same issue just now after building 2 ANE's for 64-bit fine.

If building with Flash CS IDE, make sure to clean the cache. Its likely you've been using the same (non-64bit) ANE in the past. Flash CS IDE loves to cache - in my case it apparently cached the library ".a" file. No matter the new ".a" was contained in a differently named ANE, which itself was in a different location, the IDE was still trying to use the old ".a" file from the cache.

So while lipo -info said "armv7 arm64" and the ANE built without issues, on the IDE level it refused to build because the ".a" was not "universal".

Clear out the Temp in your Documents and Settings/Local Settings/Temp/ if on Windows.

Votes

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
community guidelines
New Here ,
Jan 30, 2015 Jan 30, 2015

Copy link to clipboard

Copied

The issue has been resolved for myself as well but it had nothing to do with XCode at all.

Prior to AIR 16 compiling an ane required only bin/adt and lib/adt.jar. Since 3.8 I have been creating my anes by copying those 2 folder and files to a "ane workspace". Now with AIR16 adt.jar has a new dependency in the lib folder (I haven't yet looked for which one(s)) and if that dependency is not present the same error is thrown regardless of the library.a state.

I always had the feeling that AIR16 had a underlining change that prevented me from compiling and I was correct in that assumption.

Votes

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
community guidelines
New Here ,
Feb 01, 2015 Feb 01, 2015

Copy link to clipboard

Copied

I have also downloaded this project (freshplanet/ANE-DeviceId · GitHub) directly as-is, updated the build.config with my flex sdk and android sdk paths, and run the ant build script. I still get the same message

Error: Apple App Store allows only universal applications. "libAirDeviceId.a" is not a universal binary. Please change build settings in Xcode project to "Standard Architecture" to create universal library/framework.


I have tried running the adt command on my windows PC with the various iOS ane's, and I also get the same message. This has to be a problem with the flex SDK currently provided as it will not function for me on any project or any machine.


What version do you all have? I am using 16.0.0.272


Votes

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
community guidelines
New Here ,
Feb 01, 2015 Feb 01, 2015

Copy link to clipboard

Copied

Well, I have got past this error and have been able to once again build my ANE files. I have also been able to deploy to an iPhone 6+.

The problem was with the current release build of adobe's air SDK. 16.0.0.272 does not work. I had to download the beta version 16.0.0.283 from Download Adobe AIR 16 Beta - Adobe Labs - once installing this and running the adt command from there it started working, with all my projects.

I hope this issue is resolved with the next release of the air SDK.

Votes

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
community guidelines
New Here ,
Feb 02, 2015 Feb 02, 2015

Copy link to clipboard

Copied

I'm used to create my ane build in an "ane workspace" (a specific folder) by settings up nicely folders and copying directly there the bin/adt and lib/adt which was the only 2 files needed to compile an ane since 3.8. I also developed an AnePAcker app that takes care of everything and compile my ane on the fly. This app was using also only those two adt files. But now with AIR 16 those 2 files have dependency and cannot compile anes without their dependencies (whatever they might be). I modified the app so that instead you can set a SDK folder to use for compiling so the app uses directly the AIR 16 folder for example and now everything compile fine.

Votes

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
community guidelines
New Here ,
Jan 31, 2015 Jan 31, 2015

Copy link to clipboard

Copied

I am also having this issue. I am using AIR SDK 16.0.0.272. my build worked fine with AIR SDK 4.

this is the result of my adt command

"Error: Apple App Store allows only universal applications. "lib-ane.a" is not a universal binary. Please change build settings in Xcode project to "Standard Architecture" to create universal library/framework."


I have ensured that my static .a ios native extension lib is compiled with armv7 and arm64 support using lipo -info : "Architectures in the fat file: lib-ane.a are: armv7 arm64"


and I have tried downloading a static library xcode project from https://github.com/freshplanet/ANE-Crashlytics- but that too, when built for armv7 and arm64, still gives the error about universal applications and changing your build settings.

I think that the error message is misleading because clearly my binary is built for 32 and 64 bit, but I am at a loss for what the reason is.

@superduperjmas, I'm a little confused by your findings - what is this ane workspace you create and how does coping the bin/adt and lib/adt.jar files there have any effect on the adt command that your run? are you saying that you don't run adt from

"/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/bin/adt"

but instead from some other directory? can you tell me exactly what your build folder structure looks like and what your adt command is?

thanks

Votes

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
community guidelines
Explorer ,
Jan 31, 2015 Jan 31, 2015

Copy link to clipboard

Copied

If you are having this issue, this is how you can solve:

ios ane.png

Votes

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
community guidelines
New Here ,
Jan 31, 2015 Jan 31, 2015

Copy link to clipboard

Copied

I have tried that before, and again just now, and it doesn't change anything. I still get the same error

Votes

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
community guidelines
New Here ,
Mar 03, 2015 Mar 03, 2015

Copy link to clipboard

Copied

You are right. I just tried to generate a build selecting iOS Device and solve the problem. If I select my real device or simulator, I get the error message. Thank you for the tip.

Votes

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
community guidelines
Engaged ,
Mar 03, 2015 Mar 03, 2015

Copy link to clipboard

Copied

If switching to "iOS Device" and off your device fixed the problem, it is possible the XCode project for the ANE is improperly using the setting:"build active architecture only".  You would normally need to set this to No (usually just for a Release build (if your ANE is setup to do a release build of course))

Votes

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
community guidelines
New Here ,
Mar 09, 2015 Mar 09, 2015

Copy link to clipboard

Copied

Yes, you are totally right!

Votes

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
community guidelines
Explorer ,
Feb 09, 2015 Feb 09, 2015

Copy link to clipboard

Copied

I was having the non-universal message when building up my ane but I fixed it by setting the ios Target to 6.1 and setting manually the architectures to armv7 armv7s and arm64 (using xCode 6.1 and air sdk 16 build 272) . Now I can compile the ANE but when I tried to test it on Flash Pro I am getting this error:

errorAne.jpg

I have tried downloading last AIR SDK 17 but not luck, any ideas? Btw I have confirmed with lipo -info that the library is fat

Votes

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
community guidelines
Engaged ,
Feb 09, 2015 Feb 09, 2015

Copy link to clipboard

Copied

@Delcasda

Did you try _falcon0's suggestions above about clearing your cache files for Flash IDE? Sounds like you are experiencing what they are describing.

Votes

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
community guidelines
Explorer ,
Feb 11, 2015 Feb 11, 2015

Copy link to clipboard

Copied

I have cleaned the cache, created a new project and even tried the ANE using Flex on Flash Builder and still getting the same error

anerrorflex.jpg

Votes

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
community guidelines
New Here ,
Feb 25, 2015 Feb 25, 2015

Copy link to clipboard

Copied

If you've double checked everything and are still having issues, try switching to the v 17 beta AIR SDK & Compiler at the adobe labs site: Adobe AIR 17 Beta - Adobe Labs

I had tried every solution mentioned in this thread to no avail. As a last resort I tried switching out the AIR SDK (I was previously using v16.0.0 build 292 on OSX) to v17.0 beta and that fixed the universal binary errors for me.

Votes

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
community guidelines
Explorer ,
Feb 25, 2015 Feb 25, 2015

Copy link to clipboard

Copied

I finally had to rewrite the full iOS code and use last frameworks methods to get it working.

BTW, there was an updated of FP CC 2014 fixing the problem Flash Professional CC February 2015 Update – Available now | Adobe Flash Professional Team Blog "

  • Support for AIR 16/Flash Player 16 – This update will add the ability to publish 64 bit AIR apps for iOS 8.x in addition to support for Flash Player 16

"

Votes

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
community guidelines
Participant ,
Apr 27, 2015 Apr 27, 2015

Copy link to clipboard

Copied

Just wanted to clear things up, if anyone else is still having problems with this. You don't have to do anything other than compiling for all architectures, which is a setting that is enabled when built in release mode by default I believe, but you can enable it in debug mode as well by doing changing this setting:

Screen Shot 2015-04-27 at 14.25.17.png

Hope that clears things up for people.

Votes

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
community guidelines
Community Beginner ,
Aug 11, 2015 Aug 11, 2015

Copy link to clipboard

Copied

PROBLEM SOLVED!

I tried everything in XCode from changing the architectures to changing everything else in the build configuration. All pretty much failed miserably. I even tried matching other ANE frameworks line by line but i was still getting "Error: Apple App Store allows only universal applications. *_*.a is not a universal binary. Please change build settings in Xcode project to Standard Architecture to create universal library/framework.

I was using Air SDK 18 which i thought should work fine after reading the comments of everybody trying Air SDK 16 & 17.

Finally I changed my Air SDK from Air 18.0.0.(some lower number) to Air 18.0.0.199 and it worked! So i guess, don't bother changing a bunch of settings in XCode the problem just might be the current version of the Air SDK you are using.

Hope this helps!

Votes

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
community guidelines
Explorer ,
Jan 21, 2016 Jan 21, 2016

Copy link to clipboard

Copied

LATEST

Thank you Xpius Sr. Developer‌

I was having the same problem. Using SDK 4.14.1 + AIR19 it wasn't working.

I tried SDK 4.13 + AIR 16 Beta and it worked

Votes

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
community guidelines