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

Adobe Air SDK 29 is not accepted by Apple

New Here ,
Apr 02, 2018 Apr 02, 2018

Copy link to clipboard

Copied

IOS is blocking AIR, rejected for months,due to AIR has API using IOPSCopyPowerSourcesInfo

Our mobile game uses FLash, and AIR 29 to make it work on IOS devices,

However, we can't upgrade our game since half year ago, and Apple review team finally told us the reason:

REJECTED:

Thanks for your resubmission.

Guideline 2.5.1 - Performance - Software Requirements

Your app uses or references the following non-public APIs:

_IOPSCopyPowerSourcesInfo, _IOPSCopyPowerSourcesList, _IOPSGetPowerSourceDescription

The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.

Next Steps

If you are using third-party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs.

Resources

For information on the "nm" tool, please review the "nm tool" Xcode manual page.

If there are no alternatives for providing the functionality your app requires, you can file an enhancement request.

Then we found it's in AIR sdk, even 29.

Then we replied:

The earlier letter said our app has the following non-public APIs:

"_IOPSCopyPowerSourcesInfo", "_IOPSCopyPowerSourcesList" and "_IOPSGetPowerSourceDescription".

We checked the ipa file with the tools you suggested.

"nm" and "oTool" found none.

The tool "strings" only found "IOPSCopyPowerSourcesInfo", "IOPSCopyPowerSourcesList" and "IOPSGetPowerSourceDescription" (non-underlined) referenced.

After searched the non-underlined version from the apple develop center, we thought they are public APIs.

However, we never called them.

These were found in the popular SDK Adobe AIR, and were alone there for years.

We haven't got any alternatives beyond Adobe AIR.

TOPICS
Development

Views

24.6K

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
replies 176 Replies 176
Explorer ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Hi Colin,

I've just submitted an app to Apple with the latest SDK: Air 29.0.0.122

The build was sent back with this quick email response:

Missing Asset Catalog - Your app is missing the asset catalog file in 'Bullying.app'. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

Do you know if new icons are needed that we need to attach?

- I've never needed to add an Asset.car file in the past (do we need to?)

- I've managed to build apps with the minimum icons: 180,167,152,144,120,76,72,57

I'm using Flash Animate V18 (107)

Do you know if updating will fix this issue? (I often don't update in case things like this go wrong!)

Thanks,

Matt

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
LEGEND ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

I've never added an Assets.car either, and yes, you need to. That's where icons go now. Some people have used this online tool to make the file:

Generate ios、android app ICON and Assets.car online

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Oh no.. has this Assets.car thing just happened in the last couple of months? Think I last sent of a build in Feb, with air 26

Thanks very much for the link.

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
LEGEND ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Yes, it is a recent change.

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

I imagine a lot of people will be asking about this now.

- I've attached the Assets.car file in my iOS settings in my Fla

- for the xml, has anyone got an example yet?

The instructions on the tool you gave me was just this:

<key>CFBundleIconName</key>

<string>AppIcon</string>

Would you know how to link to the icons. Ideally they should be in a folder called 'ios' or in the root of the folder.

In another post, an Adobe dev said to link the Assets.car file in the xml here:

<iPhone>

<assetsCar>Assets.car</assetsCar>

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Should I also link to all the icons in the Fla / xml as normal as well, and the Assets.car is an additional file do you think?

No sure if it completely replaces the old method.

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
LEGEND ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

The brief reply here, from FlashFix, suggests that you would keep the <icons> list, and add the two new things (he shows where to add them):

https://forum.starling-framework.org/topic/assetscar-icons-not-showing-on-iphoneipad

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Thanks, I tried some things from that site, but something's not working - I now can't publish the app onto my iPad. Worked on another app with Air 27 (same Adhoc)

"ApplicationVerificationFailed"

- I linked all the icons as normal

- I dropped Assets.car in the main folder

- all icons in the main folder.

trouble is I don't know what's inside Assets.car and can't open it. Would like to know exactly how it links to all the icons.

This is the code if anyone wants to try it. When I crack it, I'll post back here.

<iPhone>
<requestedDisplayResolution>high</requestedDisplayResolution>
<assetsCar>Assets.car</assetsCar>
<InfoAdditions><![CDATA[
<key>CFBundleIconName</key><string>AppIcon</string>
<key>UIDeviceFamily</key>
<array><string>1</string><string>2</string></array>
<key>UIPrerenderedIcon</key><true/>]]></InfoAdditions>
</iPhone>

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Right, so just tried to published another app with Air 29.0.0.122 - same device error. "ApplicationVerificationFailed"

Perhaps I do need to update Animate now..

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

There's an issue right now with AIR 29.0.0.122 and adhoc publishing, so if you're using adhoc you currently can't install any apps on your devices until Adobe fixes the issue.  This was something that broke when they did the quick update to allow to submissions to Apple again, and unfortunately they haven't given any timeframe on when this will be fixed yet.

In the meantime, you may want to keep a separate copy of the previous AIR 29 (.112) to test apps using ad hoc, and use the newest copy (.122) for submitting apps to Apple.

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Thanks very much for that info - what a disaster!

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
LEGEND ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

It should work with developer provisioning though, which could keep you going for now.

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Icon Error.png

It's late here, but before I crash, here's the latest error after uploading the build to Apple. Adobe needs to make a proper Tutorial about how to link this Assets.car file and icons..

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
LEGEND ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

If you are using Animate I would expect you would add Assets.car in the General tab. The talk about putting it in the main folder is more for Eclipse developers, I think.

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Thanks Colin,

Too much guess work though - I'll have to carry on tomorrow and will raise a new issue. Quite urgent because I have a client waiting for the app to be live. Need a specific guide if this is the way of adding icons..

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 ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

I use the command line for compiling with adt, but I just put Assets.car in the same directory as the SWF and app.xml file, and make sure it's packaged along with those (looks like the General tab that Colin mentioned would be the place to do that in Animate).  I did also add the CFBundleIconName key to my XML in the last build that was accepted by Apple, so I'm assuming that's the right way to do that.

Adhoc does work correctly in the older .112 version, so you may want to test that out before submitting another distribution build with .122 to Apple.  When you install the app with Assets.car on your device running iOS 11, you'll be able to tell if it's packaging correctly because you'll either get the "missing icon" wireframe graphic instead of your icon if Assets.car isn't recognized, or you'll see your actual icon if Assets.car was included correctly.  Older versions of iOS will just used your icon pngs as usual, so make sure you're testing on something with iOS 11.

For my first test with this new process I intentionally packaged it without Assets.car first to see what a "broken" version would look like with that wireframe icon, and then packaged with Assets.car to confirm it was really working correctly.  I agree it's been a sloppy process understanding how this is supposed to work (and having the instructions for this sitting in a PDF for a PREVIOUS version of Air doesn't help!)

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
Advocate ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

The documentation for the Assets.car file and icons/splashscreens in general is also available here, one of the more frequently used documentation sites for me: https://help.adobe.com/en_US/air/build/WS901d38e593cd1bac1e63e3d129907d2886-8000.html

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 ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

Thanks, but I won't be able to use the command line, and would prefer not to get into Xcode at all. Used to be so simple!

I've also posted this issue here:

iOS Icons

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 ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

You can create the Assets.car with this online tool:

http://applicationloader.net/appuploader/icontool.php

I've put together a list of the other methods we use below if that helps:

AIR Native Extension Tutorials by airnativeextensions

air native extensions // https://airnativeextensions.com

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 ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

Thanks Michael,

The key thing was how to name the icons. Someone told me on another post, so here is the final list that worked for me:

***** FINAL ICON STEPS *****

*** Using Air SDK 29.0.0.122***

1) Use this helpful tool to create an Assets.car file + all the icons

Generate ios、android app ICON and Assets.car online

2) copy the iOS icons into a folder called 'icons' and place in your folder root with the Assets.car file

3) Add the Assets.car file in the Flash iOS settings in my Fla (I use Adobe Animate)

4) The icons in your xml file MUST have this folder structure and path:

icons/icon_72

I have in recent years been getting away with these 'magic 8' icons only for iOS:

Icon Path.png

Thanks

Matt

p.s if the Apple Review fails I will post back here.

** Adobe please fix the Adhoc device failure soon because I'm testing blind.

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 ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

Don't think you need to change anything regarding the naming of the icons in your application descriptor. The AIR processes you have followed in the past still work. The icons in the Assets.car will be used for iOS 11 + and the ones in the application descriptor for other cases (Android, iOS < 11 etc).

air native extensions // https://airnativeextensions.com

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 ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

Thanks Flipline, I'm still trying to find a way to do this without the command line or xcode.

Even if I add the new code or remove it, the error above about the missing file path still remains. Will have to leave it until an Adobe dev gives us an answer or updates Air. Really annoying having to guess with trial and 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 ,
Apr 25, 2018 Apr 25, 2018

Copy link to clipboard

Copied

Hi, do you know where I could download AIR SDK 29 build 112?

It seem to be anavailble at official AIR SDK archive: Find and download archived versions of Adobe AIR SDK

Thanks

Witek

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 ,
Apr 25, 2018 Apr 25, 2018

Copy link to clipboard

Copied

ok, I found one here: http://a2zp30.com/46797-adobe-air-v29-0-0-112-sdk-33641.html

but I still got an APIInternalError at adhoc build,

I use:

<iPhone>

<assetsCar>Assets.car</assetsCar>

<Entitlements>

    <![CDATA[

     <key>beta-reports-active</key>

     <true/>

     <key>get-task-allow</key>

     <false/>

    ]]>

  </Entitlements>

    <InfoAdditions><![CDATA[

     <key>UIStatusBarStyle</key>

     <string>UIStatusBarStyleBlackOpaque</string>

     <key>UIRequiresPersistentWiFi</key>

     <string>NO</string>

     <key>UIApplicationExitsOnSuspend</key>

     <true/>

     <key>UIDeviceFamily</key>

     <array>

          <string>1</string>

     </array>

   ]]></InfoAdditions>

<requestedDisplayResolution>high</requestedDisplayResolution>

</iPhone>

do you have any suggestions?

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 ,
Apr 25, 2018 Apr 25, 2018

Copy link to clipboard

Copied

Yes - in this version the Adhoc doesn't work! I also got a device error. it's a real joke..

I had to submit the app without testing. You have to test on an earlier version. Hope they fix it soon.

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