Copy link to clipboard
Copied
In Flash Pro, when switching between AIR for Android and iOS, the IDE discards icon information. This is especially frustrating since there are 16 or so icon sizes for iOS. Am I overlooking something or is it really this bad?
Copy link to clipboard
Copied
I found a good trick. I pack IPA and APK manually with ADT. Spent some time on it, but now all my publishing processes are very fast and protected from forgetting some changes while switching. It made it possible to obfuscate swf file and then pack it to IPA file.
I made 2 folders - One for iOS and second for Android. Putted there files for corresponding platforms. Made two separate -app.xml files. Two separate -app.xml files help to avoid version numbering problems with new AIR 18 beta. In 18 beta there's new label in xml for build numbering which is useful for avoiding review for TestFlight. Some said there are problems when using same numbering for Google Play.
Packaging for iOS:
1 - Collect all needed files in one folder:
- game.swf
- app.xml
- Certificate
- Provisioning Profile
- Load Images
- Folder with icons
2 - Navigate to to this folder from cmd.
3 - Remove comments and keep all this code on one line and paste into cmd + enter:
D:\path_to_sdk\bin\adt
-package
-target ipa-app-store
-useLegacyAOT yes // you decide it
-provisioning-profile game.mobileprovision
-storetype pkcs12
-keystore cert.p12
-storepass xxxxxx
game.ipa // output file
game-app.xml
game.swf
icons // folder with icons to embed
// Load images for my case. I don't use landscape view
Default@2x~iphone.png
Default~iphone.png
Default-375w-667h@2x~iphone.png
Default-414w-736h@3x~iphone.png
Default-568h@2x~iphone.png
Default-Portrait@2x~ipad.png
Default-Portrait~ipad.png
Default-PortraitUpsideDown@2x~ipad.png
Default-PortraitUpsideDown~ipad.png
Setting the -app.xml:
A confusing thing is version and build numbering with AIR for iOS. After researches and experiments I made it work with AIR 18 beta SDK.
versionNumber - build - CFBundleVersion
versionLabel - version - CFBundleShortVersionString
Increment builds and leave version same to avoid waiting time for review. Support for build numbering is added in AIR 18 beta.
<application xmlns="http://ns.adobe.com/air/application/18.0">
<id>com.domainname.gamename</id>
<versionNumber>1.0.0</versionNumber>
<versionLabel>0.92.0</versionLabel>
<filename>FILENAME</filename>
<description />
<name>GAMENAME</name>
<copyright />
<initialWindow>
<content>game.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<fullScreen>true</fullScreen>
<aspectRatio>portrait</aspectRatio>
<renderMode>direct</renderMode>
<autoOrients>false</autoOrients>
</initialWindow>
<icon>
<image29x29>icons/ICON_29.png</image29x29>
<image57x57>icons/ICON_57.png</image57x57>
<image114x114>icons/ICON_114.png</image114x114>
<image512x512>icons/ICON_512.png</image512x512>
<image48x48>icons/ICON_48.png</image48x48>
<image72x72>icons/ICON_72.png</image72x72>
<image50x50>icons/ICON_50.png</image50x50>
<image58x58>icons/ICON_58.png</image58x58>
<image100x100>icons/ICON_100.png</image100x100>
<image144x144>icons/ICON_144.png</image144x144>
<image1024x1024>icons/ICON_1024.png</image1024x1024>
<image40x40>icons/ICON_40.png</image40x40>
<image76x76>icons/ICON_76.png</image76x76>
<image80x80>icons/ICON_80.png</image80x80>
<image120x120>icons/ICON_120.png</image120x120>
<image152x152>icons/ICON_152.png</image152x152>
</icon>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<iPhone>
<Entitlements>
<![CDATA[ <key>get-task-allow</key>
<false/>
<key>beta-reports-active</key>
<true/> ]]>
</Entitlements>
<InfoAdditions>
<![CDATA[
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
]]>
</InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
</application>
I will post version for android when I'll make it and test it.
Regards,
Irakli
You can find our WIP games here: http://bonsters.co
Copy link to clipboard
Copied
Did Animate CC fix that bug? My testing showed that it didn't, but perhaps I missed something?
Copy link to clipboard
Copied
I haven't tested that, but I believe you if you see it not fixed. I've changed how I work now anyway. There are different things I need to do when building to different apps stores. I'll often even need to use different app ids . So now I make an FLA for each store, and I can give it the right app id, and it ends up with its own app descriptor XML. Which means I'm not hitting that problem much these days.
Copy link to clipboard
Copied
Glad this works for you. I'm considering doing the same. Actually, considering that export to iOS has been broken for a few weeks, this bug is not such a big deal
Copy link to clipboard
Copied
I know about the icons. The AIR interface should remember the icons and embedded files you chose and just load it when you switch. Easy to do and a lot of users will be glad and will have saved a lot of time.
Copy link to clipboard
Copied
As I mentioned, the icons will look different. They could solve that part of the problem by either having an icons section in the android manifest and the iOS ones in the iPhone tags, or they could let you list all of the icons for both, and would trust you to get the paths right so that the Android ones didn't step on the iOS ones. One difficulty is that the tags for the icons are just the width and height, and so ADT wouldn't know which of the duplicates to use.
A different approach would be to have a one entry, <android1024>, and another <iphone1024>, and have ADT create all of the sizes needed for the platform it's building for. That would mean you couldn't do custom icons for different sizes, but in the 18 or so apps I've made, I've never wanted specific icons for the different sizes.
Copy link to clipboard
Copied
Related problem is the iOS load images. They must be embedded in general tab, but the images are not needed for Android. If you don't want to have extra MBs in your APK, you should remove the embedded images every time you switch and add them back after.