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

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

New Here ,
Mar 31, 2018 Mar 31, 2018

Copy link to clipboard

Copied

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
Performance issues

Views

24.5K

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 178 Replies 178
Community Beginner ,
Apr 17, 2018 Apr 17, 2018

Copy link to clipboard

Copied

Hey, for a quick fix. You can re-sign this binary then install on the device. However you need access to a mac.

See the message by me above about 'ipa_sign'

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

Copy link to clipboard

Copied

Thanks.
I read your article and will try 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
Community Beginner ,
Apr 27, 2018 Apr 27, 2018

Copy link to clipboard

Copied

Hi, if this can help :

After updating to .122 SDK, we got the same reject on App Store.

So, we tried to add overrideAir.ane from myflashlab in the project (beacaus we have another app that contains this ANE which passed the App Store validation) and that worked ! App Store accepted !

To be precise, in our project, we use :

  • com.adobe.Networkinfo
  • com.distriqt.Core
  • com.distriqt.Share
  • com.myflashlab.air.extensions.dependency.overrideAir

By the way, thanks to Adobe Team.

Bests.

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

Copy link to clipboard

Copied

Seems odd that adding an ANE resolved the IOPS rejection. Are you sure your first attempt was with 122?

Glad you've passed review either way!

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
Community Beginner ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

I'm also having trouble making an Ad Hoc build. I think I might have figured out what's going on however...

It appears to relate to the new "beta-reports-active" Entitlement. This entitlement is only supposed to exist on the App Store profiles (based on my exploring of an App Store and Ad Hoc provisioning profile). I just made an Ad Hoc build with the new AIR 29 and my app.xml did not specify "beta-reports-active" in the Entitlements section. However, unzipping the resulting ipa and running 'codesign -d --entitlements :- "Payload/MyApp.app"' for some reason "beta-reports-active" has been added. This is causing an "The executable was signed with invalid entitlements" error when trying to load it onto a valid device. Also of note is that the previous AIR 29 does not do any of this nonsense with the "beta-reports-active" Entitlement.

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

Copy link to clipboard

Copied

My case is the same.

I did not specify "beta-reports-active" in descriptor file (.xml).

By the way ...

when it was built with air 29.0.0.122,

"beta-reports-active" was added automatically.

But this was not added in air 28 or air 27.

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

Copy link to clipboard

Copied

I also had an issue when testing Ad-Hoc (enterprise certificate). But I regarded it as something odd with my certificates/signing process (there are many issues with signing certificates).


I did manage to get around it to test before submitting to the app store but re-signing my ad-hoc IPAs and then testing those.

I generated the IPA from Adobe Animate, then resigned with the same certificate/key on mac with this tool 'IPA Sign':

GitHub - RichardBronosky/ota-tools: A burgeoning collection of tools for Over-The-Air distribution o...

Then I used i-Funbox to install the IPA to the device quickly without having to do uploading/download with enterprise plist:

iFunbox | the File and App Management Tool for iPhone, iPad & iPod Touch.

Is everyone having this certificate issue when generating AIR 29.0.0.112 ad-hoc?

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

Copy link to clipboard

Copied

On AIR 29.0.0.112 Ad Hoc worked just fine for me.

AIR 29.0.0.122 was where I had Ad Hoc issues.

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

Copy link to clipboard

Copied

No, I have Ad Hoc issues with AIR 29.0.0.122.

AIR 29.0.0.112 Ad Hoc worked just fine.

@chris.campbell any new on this issue?

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
Engaged ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

My app has been approved by Apple.

Thx Air Team 🙂

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

Copy link to clipboard

Copied

Hi,

AIR ADK version 29.0.0.122 has been released. The Apple store app rejection issue, Tracker is addressed with this build. You may download the build from Download Adobe AIR SDK

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

Copy link to clipboard

Copied

Wasn't fixed. Apps are still rejected.

Probably reason is that Adobe is testing this version of the SDK on Windows only?

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
Advisor ,
Apr 20, 2018 Apr 20, 2018

Copy link to clipboard

Copied

I made a submission to Adobe using the Adobe beta SDK 29 from a Mac, with no problem.

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

Copy link to clipboard

Copied

I re-submitted our app with Air29 build 122, but it was still rejected for the same reason.

I cleaned the project and rebuilt again only to find those strings still there.

Any advice for something I might have missed?

air_29_122_rejected.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
Engaged ,
Apr 20, 2018 Apr 20, 2018

Copy link to clipboard

Copied

My app was approved with AIR 29 Build 122 after having been rejected with a previous build of AIR 29.

Could you please tell me how to get those strings from the compiled IPA?

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
Advisor ,
Apr 20, 2018 Apr 20, 2018

Copy link to clipboard

Copied

Is it possible that you had an earlier version of AIR 29 SDK installed and the build took place using that rather than the revised version?

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

Copy link to clipboard

Copied

I've removed air 29 sdk dir completely, unpacked freshly downloaded sdk, refreshed caches in Intellij, checked that sdk description does mention build ver 112. Anyway, actually my app is still in review, but typically it took less than an hour, now it's 12 hours under review and counting. Expecting response today, though.

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
Advisor ,
Apr 20, 2018 Apr 20, 2018

Copy link to clipboard

Copied

I hope that "build 112" is a typo because it should be build 122..

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

Copy link to clipboard

Copied

Yes, a typo. Build 122 it is.

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

Copy link to clipboard

Copied

No problems here, we have had 2 approvals with this latest release. Both packaged from macOS.

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

Copy link to clipboard

Copied

For how long were the apps "under review"?

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
Advisor ,
Apr 20, 2018 Apr 20, 2018

Copy link to clipboard

Copied

I don't think review times are always linear and may vary perhaps according to  region. My last submission was dealt with in less than a day.

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

Copy link to clipboard

Copied

We are also developer of adobe air apps for ios store and now we are confused , should we use this latest fixed Air 29.122 sdk or not for final release, I saw some people mentioning accepted and recent post says rejected

Since we had already tried 2 times, now the message says we will terminate your account etc.. and not sure we should take a risk

Can someone please help post exact instructions using FB for whom this was accepted

Mainly i am looking any changes to app-descriptor.xml, any compile time settings, sdk versions etc..

Thanks in advance and looking eagerly to Adobe to come-out with final solution quickly

-Amit

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

Copy link to clipboard

Copied

OMA2kTo see if you have the private APIs in your compiled binary you can check it this way:

Generate .IPA

Change .IPA to .zip

Extract this zip

Then on a mac use the strings tool:

Either dump the file and search:
strings Payload/MyApp.app/MyApp > strings.txt

Then open strings.txt and search for 'PowerSources'

Or use grep to check the output, if it prints out the methods in the front page it has the private APIs in:

strings SJP_Pensions.app/SJP_Pensions | grep PowerSources

I've just ran this test as I was curious if Apple were checking this correctly. They are. The submission that failed had 'IOPSCopyPowerSourcesList/IOPSCopyPowerSourcesInfo' inside my .app, and those that passed didn't have references to these strings.

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

Copy link to clipboard

Copied

Hello. I've checked my approved IPA using the instructions you provided and I have NOT found any "PowerSources" string inside the "strings.txt" file created using the "strings" tool ("strings Payload/Xxxxxxx.app/Xxxxxxx >strings.txt").

niestudio : Are you sure you're using the correct version of AIR? (remember not all versions of AIR 29 contain the fix, it has to be AIR 29 Build 122). The text you underline in red in your screenshot just says "29.0" but it doesn't specify which build. Please check the settings in your IDE (Flash Builder, apparently) and make sure to use AIR 29 Build 122, currently publicly available: Download Adobe 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