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:
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.
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
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.
Copy link to clipboard
Copied
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!
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.
Copy link to clipboard
Copied
Accepted! Done!)
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>
Copy link to clipboard
Copied
We got approved. Thanks Air Team!
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.
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?
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.
Copy link to clipboard
Copied
Adobe team,
Can you update us on the status?
I have customers waiting...
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.
Copy link to clipboard
Copied
Not being able to do ad-hoc testing sucks, but testflight is a possibility?
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.
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?
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
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)
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.
Copy link to clipboard
Copied
Thanks
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
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
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!
Copy link to clipboard
Copied
It seems new beta SDK is available:
Download Adobe AIR 30 Beta - Adobe Labs
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.
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?