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

Copy link to clipboard

Copied

niestudio​ I don't think Adobe will look into your issue until it's proven it's the right version as there is only 1 case of this failing.

Please can you check your strings file for the full adobe version number and post the results in this thread.

strings MyApp.app/MyApp | grep 29.0.0

You should get the build number either 29.0.0.112 or 29.0.0.122, FYI I also get IOS 29,0,0,113 in both versions too

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

I think the best command to check the build of AIR 29 would be:

strings MyApp.app/MyApp | grep -F 29.0.0

That way you only get strings with dot, not comma.

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

jprankard

Thanks for the heads up.

The grep output was as 112 (no typo)

Not sure how that happened because I was on V26 before this happened and I downloaded the one that posted here in the forum last week.

Anyway, I re-downloaded, re-built, and now the grep shows 122 (no typo) and the string output shows no more powersource mentions.

Building and uploading to iTunes connect now

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

Copy link to clipboard

Copied

niestudio​ Glad you got it sorted Hope it get's accepted soon.

Just waiting on a new AIR for Ad-Hoc builds, but at least we have a solution for Apple Submission.

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

Copy link to clipboard

Copied

Accepted! Done!)

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

Copy link to clipboard

Copied

We have passed Apple review with Air 29.0.0.122.

The distribution version (adhoc, distribution) could not be installed and tested on the device, but distribution version has been registered and passed Apple review.

Is not it possible to unpack the ipa file and check info.plist for the Air version used in the package?

Below is the information below.

<key> CTAirSdkVersion </key>

<string> 29.0.0.122 </string>

If you package it as version 112, it changes as follows.

<key> CTAirSdkVersion </key>

<string> 29.0.0.112 </string>

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

We got approved. Thanks 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
Community Beginner ,
Apr 23, 2018 Apr 23, 2018

Copy link to clipboard

Copied

Hello,

My Air26 app has been rejected too, i have prepared a new one with the fixed Air sdk 29.0.0.122 and after checked files  'IOPSCopyPowerSourcesList' 'IOPSCopyPowerSourcesInfo' 'IOPSGetPowerSourceDescription' strings are correctly disapeared.

I just wait Apple validation now..

Thanks Adobe for your reactivity.

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

Hello,

I have the same issue. Build app with Air sdk 29.0.0.122 and can't install it to test, i'm getting error ApplicationVerificationFailed.

How are you testing it if ad-hock doesn't 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
Engaged ,
Apr 25, 2018 Apr 25, 2018

Copy link to clipboard

Copied

I've just kept a version of .112 for building adhoc alongside the newer .122 version for appstore builds.  You can use a development profile and build instead of adhoc for testing, but I've always found there's a wild difference in performance between a development build and an adhoc build (at least for GPU apps, no idea for direct).  Since the adhoc performs the same as an appstore build it's usually the best option for us for fine-tuning performance on devices.

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

Copy link to clipboard

Copied

Adobe team,

Can you update us on the status?

I have customers waiting...

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

Copy link to clipboard

Copied

Hi,

We're having the same issue. We're trying to upload a new version with AIR 29, but we need to test it before using adhoc compilation and it doesn't work. We have our customers waiting too. We need to test it carefully because we were using AIR 19 until now, because we had problems with StageWebView and new versions of AIR. So we need to test if StageWebView is fixed and for that we need adhoc compilation before we try to upload our app to the App Store.

Thank you for your efforts, Adobe Team. But we need you.

Best.

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

Copy link to clipboard

Copied

Not being able to do ad-hoc testing sucks, but testflight is a possibility?

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

Copy link to clipboard

Copied

Yes, not being able to do local Ad Hoc testing is a pain that should go away with the next AIR build, but for now, if you also do Android development, just use that for your local testing. If not, you can upload to iTC and use TestFlight to test. Not convenient, but works around the problem of Apple rejection for now.

I'm still waiting on Adobe for the fix. Actually surprised they haven't released it already.

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

Copy link to clipboard

Copied

We've upgraded our project from AIR 25 to 29, in order to bypass this issue.

However, our binaries are now not being accepted by iTunes connect, and we are not getting emails with any errors. Has anyone else encountered this? What might this be?

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

Copy link to clipboard

Copied

Hey,

I'm using Apache Flex 4.16.1 SDK. How can i merge this latest Adobe SDK(.122) to Apache Flex SDK so i'll be able to deploy apps before the official Apache relase with the fix. Any idea?

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

Copy link to clipboard

Copied

I think just unzipping the AIR SDK over your Apache Flex SDK, overwriting some of its files should be enough (make a backup first just in case you need the previous version or it doesn't work for some reason)

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

Copy link to clipboard

Copied

No need bothering with overlaying the SDK, the latest Flex SDK installer includes the AIR 29.0.0.122 build that will get you past Apple reviewers, so just use the installer and select AIR 29 from the install menu and place it in a new directory. Configure your project to use the new SDK and you should be good to go.

Apache Flex® - SDK Installer

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

Copy link to clipboard

Copied

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
New Here ,
May 02, 2018 May 02, 2018

Copy link to clipboard

Copied

Hi,

Got this errors when submiting the ipa file:

I'm using the latest Apache Flex SDK using FlashBuilder. Added the Assets.car files as well as the images generated in the following website:

Generate ios、android app ICON and Assets.car online

Also added the references on my xml descriptor file:

also

What i'm doing wrong?

Thank you

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 02, 2018 May 02, 2018

Copy link to clipboard

Copied

Hi,

Can you please try once with removing the CFBundleIconName tag because it is not required for iOS packaging.

Let us know if you still face issues.

Thanks!

Pravishti | Adobe AIR Engineering

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 ,
May 03, 2018 May 03, 2018

Copy link to clipboard

Copied

Hi pravishtis

We use AppBlade for adhoc devices testing so I created a build with 122 did the signature change and uploaded the build to AppBlade and completed the testing. My question is which build do I upload to App Store the one without signature change or the one with signature change?

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
New Here ,
May 03, 2018 May 03, 2018

Copy link to clipboard

Copied

It seems new beta SDK is available:

Download Adobe AIR 30 Beta - Adobe Labs

  • Apple store REJECTION - AIR SDK using non-public APIs (AIR-4198623)
  • Error installing ad-hoc application on device using ad-hoc provisioning
  • Error with App Upload to Apple app store for missing NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription
  • keys
  • ADT to correctly sign dynamic frameworks included packaged with iOS app (AIR-4198407)
  • Echo during video conference (AIR-4198549)
  • iphone8 and iphonex, map using atf the etc2 map will appear maze or color variegated.(AIR-4198515)
  • [Swift ANE] Framework doesn't get signed when already signed framework is used while packaging

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 ,
May 03, 2018 May 03, 2018

Copy link to clipboard

Copied

Whoa, this labs beta release also drops support for universal 32-bit/64-bit iOS apps and is just 64-bit only from now on.  That's a huge change, all of our customers still using an iPad 2, iPad 3, iPad 4, iPad Mini won't be able to download our app updates or new apps anymore since those only work when a 32-bit version is included in the app.

Any chance there will also be an update to AIR 29 to fix the adhoc provisioning issue?  I don't see myself migrating to AIR 30 since a good percentage of our audience still uses 32-bit armv7 devices.

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 04, 2018 May 04, 2018

Copy link to clipboard

Copied

Yeah I saw that too - looks like Air 29 is end of the line for us too. Hard to believe iPhone 5 and so many viable iPads are being abandoned. iPad 2 is still a great kids iPad and kids games are still optimised to run great on it.

chris.campbell Apple dropping support for non-universal 32bit apps is reasonable, but an SDK dropping universal 32-bit & 64-bit entirely seems crazy .. why are you doing this? Surely lots of kids games are built on Air?

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