Copy link to clipboard
Copied
Hi,
We are facing a peculiar problem - We have set the minimum os version to 9.0 through the XML file.
Attaching the xml file's relevant lines
-<InfoAdditions>
-<![CDATA[
<key>UIPrerenderedIcon</key>
<true/>
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
<key>NSPhotoLibraryUsageDescription</key>
<string>Access to photo library is required to save images.</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>instagram</string>
<string>whatsapp</string>
<string>facebook</string>
<string>twitter</string>
</array>
<key>FacebookAppID</key>
<string>XXXXXXXXXXXXXX</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbXXXXXXXXXXXXXX</string>
</array>
</dict>
</array>
<key>MinimumOSVersion</key>
<string>9.0</string>
]]>
</InfoAdditions>
This is the error we are getting after apple processes our build
Invalid Executable Size - The size of your app's executable file '/Payload/AppName.app/AppName' is 63 MB bytes for architecture 'arm64', which exceeds the maximum allowed size of 60 MB.
Now its clearly mentioned in this link that ios9 allows upto 400 mb. -https://help.apple.com/app-store-connect/#/dev611e0a21f
https://help.apple.com/app-store-connect/#/dev611e0a21f
My guess is that there is some problem in the way we are writing the minimumos version. Because if the minimum ios version is set to 9, then this error should not happen because the above links says that build upto 400 mb is allowed.
We would really appreciate some help on this as its delaying our uploads.
Thanks & Regards,
Nishant
Copy link to clipboard
Copied
That MinimumOSVersion seems to be set correctly, can you check the Info.plist in the app ipa to confirm it's showing up there as well as 9.0?
Are you using any ANEs in your app? I'm curious if it might have something to do with ANEs having a lower minimum OS version, because Apple does seem to check that information as well during processing. When Apple recently switched the requirement for apps to be built with iOS 12.1 (used in the latest AIR beta), there was a problem with submitting apps with ANEs that had -ios_version_min set to lower than 7.0 (which are no longer supported in Xcode/iOS 12.1). Even if an app had a MinimumOSVersion set to 8.0 or something higher, if any of the ANEs technically supported something lower than 7.0, Apple's processing picked up on that and wouldn't allow the submission.
I'm wondering if Apple's processing checks all of the minimum versions throughout the app -- including the app itself and all of its separate ANEs -- and then whatever the lowest value is determines that executable size limit.
Copy link to clipboard
Copied
Hi Flipline,
Thanks for the reply. Yes we checked the info.plist in the app ipa - its showing 9.0.
I had asked this question on stackoverflow and got this reply
Could you post the output of otool -arch arm64 -l '/Payload/AppName.app/AppName' | fgrep -B1 -A3 LC_VERSION_MIN_IPHONEOS
?
When I run this command for my rejected build I got this output
Load command 9 cmd LC_VERSION_MIN_IPHONEOS cmdsize 16 version 8.0 sdk 12.1
----
We experimented a bit with this tool. It seems that this tool takes the minimum version of the last ANE in the XML file. We are going to be trying a few more tests and a trial upload by putting the ANE whose minimum OS version is 9.0 last.
For now it seems that ANEs are the culprit but we are not 100% sure yet.
Copy link to clipboard
Copied
Hi,
Most of our ANEs have a minimum version of 8 in the platform.xml.
You can manually unzip and change the platform.xml file. The ANEs aren't encrypted so you shouldn't have any issues doing this as long as you take care when recreating the ANE zip package.
Cheers