Copy link to clipboard
Copied
Hi Adobe,
We have been using Adobe AIR Sdk 26 for years, our last updated to iOS apps was on 13th Dec 2017, after the 13th Dec 2017 update we published another update on 25th April 2018 and our iOS app was rejected due to following reason.
===================================================================================================================
Your app uses or references the following non-public APIs:
_IOPSGetPowerSourceDescription, _IOPSCopyPowerSourcesList, _IOPSCopyPowerSourcesInfo
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.
===================================================================================================================
After I checked the Adobe AIR latest SDK 29 release notes I see the issue has been address on 13th April 2018 release, below is the reference for the release notes.
My question is that if I update the AIR SDK from 26 to 29 latest update and submit my app back again to Apple Developer Console, will it be rejected or approved?
Release Notes Flash Player 29 AIR 29
April 13, 2018
In today's release, we've updated the AIR SDK to resolve an issue impacting applications being submitted to the iOS app store. Developers looking to publish their applications with Apple should build against this updated SDK.
April 13, 2018
AIR
Hi,
I updated the SDK to AIR 29.0.0.122 overlapping with Flash builder SDK 4.6.0 (Flex SDK) and I started to get the below error. Which I wasn't getting with AIR SDK 26.0.0.118 could you please suggest and advise? We have a urgent update we need to push. Thanks in advance.
Copy link to clipboard
Copied
Hi,
If you update from AIR 26 to AIR 29.0.0.122 and then submit your app to the app store, your app will be approved. Please give it a try and let us know.
Thanks!
Pravishti | Adobe AIR Engineering
Copy link to clipboard
Copied
Thanks for the answer Pravishtis, just to confirm along with AIR 29.0.0.122 we are using Flex SDK 4.6.0.23201 will that be a issue?
Copy link to clipboard
Copied
Hi,
I updated the SDK to AIR 29.0.0.122 overlapping with Flash builder SDK 4.6.0 (Flex SDK) and I started to get the below error. Which I wasn't getting with AIR SDK 26.0.0.118 could you please suggest and advise? We have a urgent update we need to push. Thanks in advance.
Copy link to clipboard
Copied
I could resolve the "Could not resolve <s:TabbedViewNavigatorApplication> to a component implementation"
However when I run the application using AIR Simulator I am getting the below error, please suggest and advise. We are in desperate need here. Thanks.
Process terminated unexpectedly.
DVFreeThread - CFMachPortCreateWithPort hack = 0x24ae60, fPowerNotifyPort= 0x24a160
DVFreeThread - CFMachPortCreateWithPort hack = 0x1299f0, fPowerNotifyPort= 0x129620
invalid application descriptor: Unknown namespace: http://ns.adobe.com/air/application/29.0
Launch command details: "/Applications/Adobe Flash Builder 4.7/sdks/4.6.0AIR29.0.0.122/bin/adl" -runtime "/Applications/Adobe Flash Builder 4.7/sdks/4.6.0AIR29.0.0.122/runtimes/air/mac" -profile mobileDevice -screensize 640x920:640x960 -XscreenDPI 326 -XversionPlatform IOS
Copy link to clipboard
Copied
Hi,
Can someone please update on this thread.
Also, all the issue are resolve if we use the Apache Flex latest SDK with has AIR SDK inside it. However, what's the way to ensure that AIR SDK bundled with Flex latest SDK has the iOS patch or not.
Below is the link for Apache Flex SDK.
Please look into the matter since our update is on hold due to this. Thanks.
Copy link to clipboard
Copied
pravishtis​ chris.campbell​
I have successfully run and build the application with 122 build, also ensure there's no reference of 'PowerSource' in the ipa using strings tool.
However, to test on real devices we use Appblade and we were getting issues installing the .ipa from Appblade, hence we followed the steps below and could install the ipa from Appbalde to real devices and tested. Now, we are ready to publish the ipa to App Store I need to know which ipa I should publish to App Store, the original one which I exported from Flash builder or the one I resigned for testing from Appbalde. Please suggest we are in urgent need. Thanks.
Workaround Steps for resigning ipa:
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/
Copy link to clipboard
Copied
Hey, is it normal that I still see these in winHEX even with air 29.0.0.112?
_IOPSGetPowerSourceDescription, _IOPSCopyPowerSourcesList, _IOPSCopyPowerSourcesInfo
Copy link to clipboard
Copied
Hi,
You need to upload the app packaged with ipa-app-store target (which will not be having any signature changes).
Also, the ad hoc provisioning profile issue has been fixed in our latest beta. Please give it a try from Download Adobe AIR 30 Beta - Adobe Labs​.
Thanks!
Pravishti | Adobe AIR Engineering
Copy link to clipboard
Copied
Hi pravishtis​
I used the AIR SDK 30 and created a final release package for Apple App Store ipa and uploaded the ipa to itunes connect. I got the below error:
Dear Developer,
We identified one or more issues with a recent delivery for your app, "Dollar Mobile". Please correct the following issues, then upload again.
Invalid Code Signing Entitlements - The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile:
The bundle contains a key that is not included in the provisioning profile: "beta-reports-active" in Payload/Dollar.app/Dollar
Your binary is not optimized for iPhone 5 - - New iPhone apps and app updates submitted must support the 4-inch display on iPhone 5 and must include a launch image referenced in the Info.plist under UILaunchImages with a UILaunchImageSize value set to {320, 568}. Launch images must be PNG files and located at the top-level of your bundle, or provided within each .lproj folder if you localize your launch images. Learn more about iPhone 5 support and app launch images by reviewing the 'iOS Human Interface Guidelines' at https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen.
Missing required icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0.
Missing required icon file - The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format for iOS versions >= 7.0.
Missing required icon file - The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 7.0.
Can you please suggest and advise. Thanks.
Copy link to clipboard
Copied
Hi,
For the provisioning-profile error, could you please try once with generating a new provisioning-profile from Apple Developer Portal and packaging the application with the new provisioning.
For the launch images error, please make sure you're including the launch images as per the specifications mentioned here: Launch Images on iOS with Adobe AIR​.
For the icons error,
You can specify the path(with respect to application descriptor) and names as per your convenience.
Let us know if you still face issues.
Thanks!
Pravishti | Adobe AIR Engineering
Copy link to clipboard
Copied
Hi Pravishtis,
I'm getting this error about powersource APIs and my app was rejected due to it:
"Your app uses or references the following non-public APIs:
IOPSCopyPowerSourcesInfo, _IOPSCopyPowerSourcesList, _IOPSGetPowerSourceDescription"
I'm using air 28. I cannot use air 29 as it fails to embed OTF fonts. I have a post regarding that. Is my only solution to use air 30 beta? Is it really recommended to use a beta SDK for a production release of an app?
There was a fix for this with the location APIs that seems to work:
<InfoAdditions><![CDATA[
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
<key>NSLocationAlwaysUsageDescription</key>
<string>Required by Adobe SDK</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Required by Adobe SDK</string>
<key>UIPrerenderedIcon</key>
<true/>
]]>
</InfoAdditions>
Could I perhaps include the power source apis listed in the same way to get it working with air 28?
-cybo
Copy link to clipboard
Copied
My APP met the same issue. The same content with you. Do you have method to deal with it?