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

AIR 3.8.0.440 / iOS: build fails with "ld: -pie can only be used when targeting iOS 4.2 or later"

Guest
May 14, 2013 May 14, 2013

Copy link to clipboard

Copied

With AIR 3.8.0.440, iOS build with "adt -package -target ipa-ad-hoc" fails with a linker error:

ld: -pie can only be used when targeting iOS 4.2 or later

What's the correct option to suppress this error or does it need a fix for adt?

In the app.xml,

<key>MinimumOSVersion</key>

            <string>5.0</string>

is already present in the iPhone InfoAdditions section.

(Building the same app with AIR 3.8.0.370 is fine)

TOPICS
Air beta

Views

5.7K

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
Adobe Employee ,
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Thanks for reporting, are you using any ANE?

-Pahup

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
Guest
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Yes, it contains ANE modules, but some don't come with source code so can't rebuild them.

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
Adobe Employee ,
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Could you try unbundling the ANE and see if the platform.xml has any minimum OS vesion requirement? Please see this for more details on platform.xml - http://help.adobe.com/en_US/air/extensions/WSf268776665d7970d-2e74ffb4130044f3619-7fff.html

Thanks

-Pahup

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
Guest
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Some of the ANE modules have

<option>-ios_version_min 4.0</option>

in <linkerOptions> but some have none. No version other than min 4.0 is specified.

If it's relevant, some have

<sdkVersion>6.0.0</sdkVersion>

or

<sdkVersion>5.1</sdkVersion>

or

<sdkVersion>4.3.0</sdkVersion>

or

<sdkVersion>4.0</sdkVersion>

in their platform.xml.

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
Adobe Employee ,
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Could you please try changing the <option>-ios_version_min 4.0</option> to <option>-ios_version_min 4.3</option>

Please bundle the ANE again and then try packaging the IPA.

-Pahup

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
Guest
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

By bundle again, do you mean just unzip/zip the jar package? Is it OK to modify the XML and just pack it again? I'd thought it involves with the jar signer. Since those ANEs are third-party, I think I can't package them again in the proper way.

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
Adobe Employee ,
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

yes, please zip it again and see if it works, but this is not a recommeneded way. Ideally, you should contact the ANE provider for a fix.

This change is required in AIR 3.8 to support PIE, for which Apple has now started to warn about while publishing the apps on app store.

Please let us know how it goes.

-Pahup

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
Guest
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

If an ANE module has no ios_version_min in the <linkerOptions>, is it necessary to add it?

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
Adobe Employee ,
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

No, it shouldn't be, just change the existing ones.

-Pahup

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 ,
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Just to chime in and say we had the same issue.

The ANEs are bundled so we can't access any of their code - we're using compiled ANEs.

Other Air releases work fine with the same ANEs.

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
Guest
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Just unzip & set 4.3 & zip again resulted in "conflict in file name" by adt.

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
Guest
May 15, 2013 May 15, 2013

Copy link to clipboard

Copied

Hi,

Can you make sure that both your old ane and new ane are not present in your extensions directory.

Also, how are you zipping/unzipping the ANE?

If you are on a Mac, try these steps on the terminal:

1) Create a new temp directory, say temp (mkdir temp)

2) cd temp

3) Copy the ane you need to make changes to into this directory.

4) unzip nameofane.ane

5) rm nameofane.ane

6) Make changes to the platform.xml file using a text editor or vim

7) cd to the temp directory again, (if you are now elsewhere)

8) zip -r nameofane.ane .

9) Copy the ane file created into your extensions directory, where you have placed the other extensions and then, package the IPA using adt.

If you are on Win,

1) Rename the .ane to .zip

2) Extract the contents of .zip

3) Make changes to platform.xml and save it.

4) Go back to the directory where you extracted the files, select all the folders/files and right click to zip them back.

5) Rename the .zip to .ane and then, package the IPA.

It should work.

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
Guest
May 16, 2013 May 16, 2013

Copy link to clipboard

Copied

Thanks, it's working now.

But I still get a warning about PIE due to an ANE module that has no min OS version specified.

With this ANE module,

http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/networkinfo.html

I get this warning;:

ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _findInterfaces from C:\Users\RyuK\AppData\Local\Temp\0d13842f-d1d7-4725-a9cc-d3fe4a86d55c/libcom.adobe.Networkinfo.a(NetworkInfoiOSLibrary.o). To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie

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
Guest
May 19, 2013 May 19, 2013

Copy link to clipboard

Copied

I submitted the app and got the warning about PIE from Apple due to the Networkinfo ANE module, please update it asap, though it's not likely to get it rejected by that. I have no idea why the function is not natively supported by AIR already while Android supports it.

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
Adobe Employee ,
May 22, 2013 May 22, 2013

Copy link to clipboard

Copied

Which AIR 3.x build number did you use where you see PIE disabled warning? It is fixed in AIR 3.8 labs build http://labs.adobe.com/technologies/flashruntimes/air/. Could you please try and share the result.

Regards,

Nimit

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
Guest
May 22, 2013 May 22, 2013

Copy link to clipboard

Copied

It was 3.8.0.440. Do you mean, by using 3.8.0.490, App Store won't send you the PIE warning even though it's built with the same ANE module?

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
Adobe Employee ,
May 23, 2013 May 23, 2013

Copy link to clipboard

Copied

I have downloaded ANE from http://download.macromedia.com/pub/developer/air/ane/Binaries.zip and application packaged successfully without throwing PIE disable warning. Could you please to try package an application using .swf, .xml and ANE attached at https://www.dropbox.com/s/9ioyzixet6lyxkg/NetworkInfo.zip and share if you are able to see the PIE warning.

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
Guest
May 24, 2013 May 24, 2013

Copy link to clipboard

Copied

I built it with

adt -package -target ipa-ad-hoc -hideAneLibSymbols yes

and both 3.8.0.440 and 3.8.0.490, and both of them gave no warning.

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
Adobe Employee ,
May 24, 2013 May 24, 2013

Copy link to clipboard

Copied

LATEST

The error "ld: -pie can only be used when targeting iOS 4.2 or later" most certianily occurs because some of your ANE has min OS version specified in it's platform.xml.

Could you please share which ANEs are you using. And could you also share the ANEs with me or Nimit.

Thanks,

Daman

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