Locked

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

19.7K

Likes

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

Copy link to clipboard

Copied

Can you list all the ANEs / libraries that you are using?

We are using

NativeGATracker

TestFairySDK

AND Distriqt GoogleAnalyticsTracker

com.distriqt.core

SystemVolumeNativeExtension

Likes

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

Copy link to clipboard

Copied

We are in the same situation now as well. Just got rejected while trying to update one of our apps. This is the first time it’s been a problem. Did you ever get a resolution from Apple as there are no alternatives for us to use?

Likes

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

Copy link to clipboard

Copied

I have the same issue.

But I use Air 25 and the following Anes.

pl.mateuszmackowiak.nativeANE.NativeDialogs

com.milkmangames.extensions.EasyPush

Likes

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

Copy link to clipboard

Copied

We have the same issue. One of our apps was approved a week ago but in the latest update yesterday we got rejected. Its really bad because it was an update to fix a major bug.. I will dig into our ANEs but if it is an air SDK issue then it’s really bad. Maybe apple just changed their guidline regardig this. I guess that means that no AIR developer will no longer be able to publish on app store. I guess all previous air SDK would have the same issue as well?

Likes

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

Copy link to clipboard

Copied

Hi all,

Olof Hart  wrote:

I guess that means that no AIR developer will no longer be able to publish on app store. I guess all previous air SDK would have the same issue as well?

Could anyone answer this?

We are using AIR SDK 21,  and would like to know it has same issue as well.

Regards,

Breeze

Likes

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

Copy link to clipboard

Copied

Same issue here:

com.distriqt.androidsupport.V4.ane

com.distriqt.Beacon.ane

com.distriqt.Compass.ane

com.distriqt.Core.ane

com.distriqt.Vibration.ane

Likes

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

Copy link to clipboard

Copied

We don't use those APIs in our ANEs (distriqt) so this appears to be an issue with the AIR SDK.

Has anyone logged a bug on the Tracker? Tracker

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

Likes

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

Copy link to clipboard

Copied

Same issue today

Air 27

No ane

as3isolib

eDpLib

greensock

Likes

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

Copy link to clipboard

Copied

Our build also got rejected yesterday:

AIR VERSION:

Air 29 (v108)

ANES:

com.distriqt.Application.ane

com.distriqt.Bolts.ane

com.distriqt.Core.ane

com.distriqt.FacebookAPI.ane

com.distriqt.InAppBilling.ane

com.distriqt.Notifications.ane

com.distriqt.playservices.Auth.ane

com.distriqt.playservices.Base.ane

com.distriqt.playservices.GCM.ane

com.distriqt.PushNotifications.ane

com.distriqt.Share.ane

com.distriqt.Vibration.ane

OpenUDIDLib.ane (only used in test environment)

SWCs:

analytics.swc (Google analytics)

Console.swc (Getting Started · junkbyte/flash-console Wiki · GitHub

gamesparks-as3-sdk.swc (backend)

Likes

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
Enthusiast ,
Apr 05, 2018 Apr 05, 2018

Copy link to clipboard

Copied

cgascons  wrote

Our build also got rejected yesterday:

AIR VERSION:

Air 29 (v108)

...

SWCs:

analytics.swc (Google analytics)

Console.swc (Getting Started · junkbyte/flash-console Wiki · GitHub

gamesparks-as3-sdk.swc (backend)

@cgascons
a bit OT but wow you're still using analytics.swc ?

you should definitively move to as3-universal-analytics

Likes

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

Copy link to clipboard

Copied

Quick update.  From what we can tell, this is a recent change from Apple that we were unaware of, and we're working to correct AIR's behavior so that we no longer are in conflict with the deprecation's in question.  I'm hoping to have a private build available for those that would like to test it out ASAP, followed by a public beta release and then an official release (probably on May 8th).

We'll post back to this thread as soon as a private build is available for testing.

Thanks,

Chris

Likes

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

Copy link to clipboard

Copied

Great news Chris! Happy to help test a build, let us know when it's available.

Cheers

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

Likes

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

Copy link to clipboard

Copied

I think someone at Adobe should be lobbying Apple for a a couple of weeks grace to suspend rejection while Adobe updates Air.

Likes

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

Yes, would it be possible to canvas the borg to let apps slide on this issue for a few weeks until the AIR release is official? We just ran into this issue today and it's a showstopper of profound impact on our business.

Likes

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

Copy link to clipboard

Copied

wish the fix comes quickly

Likes

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

Copy link to clipboard

Copied

..so the problem for me is this.

Will I find myself in the same position in two weeks time with a very unhappy current client and not being able to publish apps for anyone, or will I find that in three days time there's a fix available?

If it's likely to take weeks to resolve this I'll re-do this as a native app.

I think  a few people might be wondering the same thing.

The problem is that even if this is a problem of Adobe/Apple's making, my clients will just see this as me being unable to deliver while the guy that chose not to use Adobe technology is.

Likes

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

Copy link to clipboard

Copied

We can discuss why would you chose a particular technology for a project but in the end of the day we still have project on Adobe Air otherwise we wouldn't be here. So we better help everything will be fine on Air in the future.

On Apple side I hope Jobs's Fatwa is over.

Likes

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

Copy link to clipboard

Copied

I'm sure Adobe will solve this, but if it takes three weeks I will remake this as a native app and not look like a complete idiot to my client. Problem is that I can't tell what the reality is.

There are so many rough edges to Adobe Air, I can tell that the people who develop it don't actually bother to use it. I really wish Apple's development system ran on Android, for sure.

Likes

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

Copy link to clipboard

Copied

Thanks Chris, if you can let us know an approximate date for the public Beta, it would be much appreciated.

We're due to launch our new game at the end of this month, just wanna know if we should reschedule.

Likes

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

Copy link to clipboard

Copied

Hey Chris,

Thanks for the update. Please keep us updated as to when we can have the private version in hand.

Likes

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

Copy link to clipboard

Copied

Thanks @chris.campbell

Thanks for all! We are waiting to test a corrected version as soon as possible.

Likes

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

Copy link to clipboard

Copied

Hey Chris, I would like to test the private build ASAP. We have a critical app rollout due by the end of this week. Thanks.

Likes

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

Copy link to clipboard

Copied

Hi Chris, Thank you for looking into this. We would like to test the private build as soon as it becomes available. Thank you.

Likes

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

Copy link to clipboard

Copied

Hello gameduchy.

What did Apple tell you after informing them of the APIs you found not including underscore being public APIs?

Also, could you please describe how did you use oTool to get the APIs? Did you use your compiled IPA file or something else? All I get is:

xxxxxxx.ipa: is not an object file

How do you get the object files if the IPA is compiled with AIR's adt and not directly with Xcode?

BTW, nm doesn't seem to work anymore after installing the latest Xcode. If I try to run it from the Terminal I get the message:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: a.out: No such file or directory.

Best regards.

Likes

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