• 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

22.4K

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

Copy link to clipboard

Copied

Hi niestudio,

I copied the Assets.car file to src folder and getting the below error now while exporting the build.

Screen Shot 2018-04-30 at 3.55.22 PM.png

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

Copy link to clipboard

Copied

I think the right location is the "bin" folder (the same place where the "xxx-app.xml" file is located).

Doesn't Flash Builder have a place to specify additional assets, anyway?

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

Copy link to clipboard

Copied

OMA2k

I could solve the Assets.car file issue. However getting a new issue while exporting the build. Can someone please help. Thanks.

Screen Shot 2018-04-30 at 4.23.03 PM.png

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

Copy link to clipboard

Copied

OMA2k

Interesting, I don't have a bin folder, maybe that's why it works in my src folder.

sashir82552880

Have you tried cleaning your project? Project > Clean…

This often helps when I see weirdness like that

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

Copy link to clipboard

Copied

niestudio

Never mind, I got the issues resolved. Did a clean setup and everything worked as excepted.

However, I am unable to install the iOS build on a real device. I assume that's because of the provisioning profile issue. And workaround to the provisioning profile is below?

Workaround Steps:

1) Unzip the application IPA

unzip -q  MyApp.ipa

2) Extract the current entitlements

codesign -d --entitlements :entitlements.plist "Payload/MyApp.app"

3) Delete the unsupported beta-reports-active entitlement

/usr/libexec/PlistBuddy -c "Delete :beta-reports-active" entitlements.plist

4) Remove the current signature

rm -rf "Payload/MyApp.app/_CodeSignature"

5) Sign the app using the updated entitlements. Make sure that your distribution certificate is in your keychain

codesign -f -s "<App ID>" --entitlements entitlements.plist Payload/MyApp.app

6) Zip the re-signed IPA. The new Ad Hoc app that you'll be able to install is MyApp-resigned.ipa

zip -qr MyApp-resigned.ipa Payload/

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

Copy link to clipboard

Copied

chris.campbell

I have one last question. When I have to publish the app to App Store, am I going to use the original .ipa which was exported by Flash Builder or the one which I resigned for testing the .ipa on a real device?

Please suggest. With the provisioning profile workaround I could give out the .ipa for testing and we are ready to push the update to App Store.

Thanks!

@OMA2k  niestudio​ Can you guys please suggest? 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 ,
May 01, 2018 May 01, 2018

Copy link to clipboard

Copied

I'm not sure, I opted to do the adhoc build with 112 and the app store build with 122 and upload it directly to testflight.

not the best workflow, but it worked for me.

cheers

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

Copy link to clipboard

Copied

niestudioOMA2kchris.campbell 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?

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

Copy link to clipboard

Copied

sashir82552880  wrote

niestudio​  OMA2k​  chris.campbell  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?

You don't need to change the signature for an "ipa-app-store" build. You can upload it with the Entitlements block so you can test with TestFlight, and then, when you're done, submit for review that very same build you just tested.

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

Copy link to clipboard

Copied

Amrita, the terse postings here about the issue aren't great.

I think developers would like to be reassured that the issue is properly understood and will be fixed in a timely fashion.

The tedious way to debug without ad-hoc distribution is testing via iTunes connect, but I guess that's only possible if the app is going to be released on the Appstore.

I hope that Adobe can loosen up on the communication and form a paragraph or two rather than a short sentence.

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

Copy link to clipboard

Copied

We are currently using AIR 25 to package our app, and got rejected for using the following private APIs:

UNLegacyNotificationTrigger, _IOPSCopyPowerSourcesInfo, _IOPSGetPowerSourceDescription, _IOPSCopyPowerSourcesList"

Is there a solution that doesn't include upgrading to air 29?

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

Copy link to clipboard

Copied

I'd be surprised if Adobe provided any solution for older Air versions. They haven't quite got Air 29 working correctly yet for Ad-hoc distribution.

I would backup your project and try and move to Air 29.

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

Copy link to clipboard

Copied

We have making client app using Adobe AIR 18 and submitted our to App store and its working fine for more than 2years but on recent updates we are unable to submit the App and its getting  rejected due to Non Public API error which is given below. after which we tried using Adobe AIR 24 and Adobe AIR 29.0.0122 but both got rejected with same error, so try to give us some solution so that we can Post the App in App Store.

"" From Apple

    2. 5 Performance: Software Requirements

Hello xxxxx,

We are writing to let you know the results of your appeal for your app.

The App Review Board evaluated your app and determined that the original rejection feedback is valid. Your app does not comply with:

Performance 2.5.1

We understand that you are taking steps to address the 2.5.1 issue, however, we still find that your app uses or references the following non-public APIs:

_IOPSCopyPowerSourcesInfo

_IOPSCopyPowerSourcesList

_IOPSGetPowerSourceDescription

To resolve this issue, it would be appropriate to update to the most recent version of Adobe Air, as Adobe has released an update for Adobe Air that removes the non-public API.

We hope you will consider making the necessary changes to be in compliance with the App Store Review Guidelines and will resubmit your revised binary.

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

Copy link to clipboard

Copied

Strangely, even if I knew there was an issue with AIR and iOS, I made a build with AIR 27 two days ago and it was approved yesterday. Someone had the same experience? Perhaps Apple changed something on their side?

I'm on Mac OS High Sierra 10.13.4, with Xcode 9.3 and AIR SDK 27.

The app uses Citrus Engine and many libs (Starling, Feathers, TweenMax...) and somes ANEs :

2018-04-11 09.49.04.png

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

Copy link to clipboard

Copied

Apple review is a bit random.

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

Copy link to clipboard

Copied

Is there a way to overlay Flex and AIR SDK with provided 122 build? I use this instruction on Mac Overlay Adobe AIR SDK on Adobe Flex SDK | Adobe Flash Builder​​ with AIRSDK_Compiler.dmg downloaded from Shared Files - Acrobat.com , but get errors during compilation like Error: Unable to locate specified base class 'spark.components.Application' for component class 'Main'.

Maybe I'm doing anything wrong?

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

Copy link to clipboard

Copied

Built with beta version 29.0.0.122 on Adobe Animate CC. Submitted to apple for review.

Will try to remember to post back here if it is all good, but if you hear nothing it's all gone well

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

Copy link to clipboard

Copied

New AIR 29 app has now been accepted by Apple (mine had 2 ANE’s).

Thanks for the quick turnaround @chris and adobe.

Regarding the Assets.cab. Its better for us to have a format Apple generate/approve. That way we don’t have to wait for an adobe air update when Apple require a new icon size.

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

Copy link to clipboard

Copied

Hi Developers,

App Store submission issue has been fixed. Please download the AIR SDK from Download Adobe AIR SDK. Kindly let us know in case you face any issues.

Thanks,

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

Copy link to clipboard

Copied

I can't install AdHoc apps generated with this version.....

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

Copy link to clipboard

Copied

Hello,

With the new SDK, it's no longer possible to install the app directly on a device during development phase.

The error message is :

Install failed!

Install error message:

Installation Error: ApplicationVerificationFailed.

(we use FDT to develop and publish apps).

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

Copy link to clipboard

Copied

We are also seeing that problem:

Apr 13 08:19:11 iPad installd[48] <Notice>: 0x16e12f000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=***; Version=***, ShortVersion=***>

Apr 13 08:19:11 iPad profiled[120] <Notice>: (Note ) MC: Provisioning profiles changed

Apr 13 08:19:11 iPad securityd[88] <Error>:  secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found

Apr 13 08:19:11 iPad installd[48] <Error>:  SecTrustEvaluate  [leaf IssuerCommonName SubjectCommonName]

Apr 13 08:19:11 iPad profiled[120] <Notice>: (Note ) MC: Updating MIS trust...

Apr 13 08:19:12 iPad installd[48] <Notice>: MIS: entitlement 'aps-environment' has value not permitted by provisioning profile '***'

Apr 13 08:19:12 iPad installd[48] <Error>: 0x16e12f000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 142: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.4pCMjg/extracted/Payload/***.app : 0xe8008016 (The executable was signed with invalid entitlements.)

Apr 13 08:19:12 iPad installd[48] <Error>: 0x16e12f000 -[MIInstaller performInstallationWithError:]: Verification stage failed

Apr 13 08:19:12 iPad mobile_installation_proxy[174] <Error>: 0x16e247000 __MobileInstallationInstallForLaunchServices_block_invoke222: Returned error Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.4pCMjg/extracted/Payload/***.app : 0xe8008016 (The executable was signed with invalid entitlements.)"

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

I am using Flash Builder 4.7.

Today, I downloaded AIR SDK 29.0.0.122 from the offical page - https://www.adobe.com/devnet/air/air-sdk-download.html.

I applied air sdk 29 as normal and built the binary (.ipa) using air 29.0.0.122.

I built ipa as adhoc but can not installed on the device.

When ipa was built as adhoc with air 27 or 28, it was successfully installed on the device.

What's wrong?

Please let me know how to solve it.

Where can I download air 29.0.0.112?

Can app built with 29.0.0.112 be approved by 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
Community Beginner ,
Apr 17, 2018 Apr 17, 2018

Copy link to clipboard

Copied

Using the Air 29.0.0.122 version of the SDK & a certificate for distribution, debugging is not possible with the following error.

[iOS 11.2.6]

Error occurred while installing the application:

Installation Error: APIInternalError.

[iOS 9.3.5]

Error occurred while installing the application:

Installation Error: ApplicationVerificationFailed.

There is no error when packaging as a release build(adhoc, distribution), but it can not be installed on a device.

# I used iFunbox.(iOS 9.3.5 : -402620394, iOS 11.2.6 : -402653081)

# Using a certificate for development and a provisioning file is fine.

However, using version Air 29.0.0.112 has no problem.

# I tested it with a basic Flex mobile project provided by Flash Builder.(no ane, no swc)

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

Copy link to clipboard

Copied

I tested ipa built with a certificte and provisioning for development using air 29.0.0.122.

I tried to install ipa for development on the device - iPhone 6 Plus ( ios 10.2 ) and iPhone X ( ios 11.1.2 )

but failed to install.

The console log is the following.

Please help me!

I have a big issues in my game but am not updating it.

기본 21:02:41.615742 +0900 installd entitlement '<private>' has value not permitted by provisioning profile '<private>'

기본 21:02:41.615862 +0900 installd entitlement '<private>' has value not permitted by provisioning profile '<private>'

기본 21:02:41.616187 +0900 installd 0x16f10f000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.n9JRdT/extracted/Payload/*****.app : 0xe8008016 (The executable was signed with invalid entitlements.)

기본 21:02:41.616274 +0900 installd 0x16f10f000 -[MIInstaller performInstallationWithError:]: Verification stage failed

기본 21:02:41.616749 +0900 assertiond Client relinquished <BKTerminationAssertion: 0x104300540; "FBSApplicationTerminationAssertion" (Unconditional); 49:(null) id:…2D89E200EBE2>

기본 21:02:41.616868 +0900 assertiond -[BKAssertion dealloc] - <0x104300540>

기본 21:02:41.661295 +0900 installd *****.*****.*****:7:5:2:0:Fail (End) : Install (New)

기본 21:02:41.661833 +0900 lsd (null):5:1:2:0:MobileInstallation returned nil for file:///var/mobile/Media/PublicStaging/*****.ipa/

기본 21:02:41.662326 +0900 mobile_installation_proxy (null):5:1:2:0:_LSInstallationManager install:withError finished

기본 21:02:41.662680 +0900 mobile_installation_proxy Connection invalidated to installationCallbackInterface

기본 21:02:41.662782 +0900 mobile_installation_proxy 0x16b2cb000 handle_install: Installation failed: Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.n9JRdT/extracted/Payload/*****.app : 0xe8008016 (The executable was signed with invalid entitlements.)" UserInfo={LibMISErrorNumber=-402620394, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=147, FunctionName=+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:], NSLocalizedDescription=Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.n9JRdT/extracted/Payload/*****.app : 0xe8008016 (The executable was signed with invalid entitlements.)}

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