You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by DarkStone <da...@163.com> on 2014/08/16 16:24:02 UTC

Found a showstopper issue caused by Spark RadioButton and -useLegacyAOT=no

Hi folks,

Here is the issue I found, I'm still trying to solve it, but may need some help:

1. Using Flex SDK Installer 3.1 to install Flex SDK 4.13.0 + AIR 15 + FP 15 beta.

2. Open Flash Builder 4.7 to use the Flex SDK 4.13.0, and create a very simple Flex Mobile Project.

3. In the main application mxml, use this code:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
    <s:RadioButton label="Do you see me?" fontSize="48" horizontalCenter="0" verticalCenter="0"/>
</s:Application>

4. Use Flash Builder 4.7 to [Export Release Build], target at Apple iOS, press [Next], then press [Customize Launch...], add -useLegacyAOT=no to the packaging parameter, place it before -provisioning-profile parameter, press [OK], and then set all other stuff, press [Finish] to pack the Flex app to IPA file.

5. When finished, setup the IPA to iPhone or iPad device, and run the app on the iDevice.

6. On iDevice, you will see only a blank screen hanging there forever.

This issue will not happen when -useLegacyAOT=yes on iOS devices, and on desktop device the issue will not happen too.

I cross checked the RadioButton.as source code and the known issues in the new AIR IPA packager (-useLegacyAOT=no):
http://helpx.adobe.com/air/kb/unable-update-air-mac-os1.html
Still I cannot find a clue...

If we cannot resolve this issue, we will have to use the old AIR IPA packager, and wait 5-15 minutes to pack the IPA every time, which is insane and totally wasting of time.

I will continue investigate the issue, I'll keep you guys posted, and if you have any tips or solutions, please reply, thanks : )


DarkStone
2014-08-16

Re:Re:Re:Found a showstopper issue caused by Spark RadioButton and -useLegacyAOT=no

Posted by DarkStone <da...@163.com>.
Hi Alex,


I ran a basic FTE test in Flex Application, here is the code:



<?xml version="1.0" encoding="utf-8"?>

<s:Application applicationComplete="ac(event)" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">

<fx:Script>

<![CDATA[

import mx.core.UIComponent;

import mx.events.FlexEvent;

privatefunction ac(e:FlexEvent):void

{

var format:TextFormat = new TextFormat(null, 48);

var tf:TextField = new TextField();

tf.text = "Do you see me?";

tf.autoSize = TextFieldAutoSize.LEFT;

tf.setTextFormat(format);

var uic:UIComponent = new UIComponent();

uic.addChild(tf);

addElement(uic);

}

]]>

</fx:Script>

</s:Application>




When -useLegacyAOT=no (the new IPA packager), the app can successfully run on iOS devices, the TextField is shown.




So the only hope I got is to copy the source code of TextBase.as or RichEditableText.as to my own class, and test it part by part to narrow it down.




I will continue the digging in the weekend.







DarkStone

2014-08-18


At 2014-08-17 01:43:25, "Alex Harui" <ah...@adobe.com> wrote:
>Maybe an issue with fte?
>Sent via the PANTECH Discover, an AT&T 4G LTE smartphone.
>
>DarkStone <da...@163.com> wrote:
>
>
>Continue to narrow it down.
>
>I ruled out ButtonBase.as, the real problem is TextBase.as and RichEdiableText.as
>
>If you set a custom skin to a Button control, and in your custom skin if you don't use Label, RichText or RichEditableText at all, then you Button can be displayed on iOS devices.
>
>If you use Label, RichText or RichEditableText in your Flex application, this issue will happen, the application will hanging on a blank screen forever!
>
>The Label and RichText, they all extend from TextBase, the RichEdiableText extends from UIComponent.
>
>There must be something in common between TextBase.as and RichEdiableText.as, I'm still digging.
>
>DarkStone
>2014-08-16
>
>
>At 2014-08-16 11:02:35, "DarkStone" <da...@163.com> wrote:
>>Hi folks,
>>
>>It's much worse than I thought!
>>
>>It turns out, the root problem isn't RadioButton.as, but ButtonBase.as !
>>
>>In other words, any class extends from ButtonBase will have this issue!
>>
>>At least I narrowed it down to ButtonBase.as, I'm checking the source code, hoping to find a clue.
>>
>>
>>DarkStone
>>2014-08-16
>>
>>
>>
>>At 2014-08-16 10:24:02, "DarkStone" <da...@163.com> wrote:
>>>Hi folks,
>>>
>>>Here is the issue I found, I'm still trying to solve it, but may need some help:
>>>
>>>1. Using Flex SDK Installer 3.1 to install Flex SDK 4.13.0 + AIR 15 + FP 15 beta.
>>>
>>>2. Open Flash Builder 4.7 to use the Flex SDK 4.13.0, and create a very simple Flex Mobile Project.
>>>
>>>3. In the main application mxml, use this code:
>>><?xml version="1.0" encoding="utf-8"?>
>>><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
>>>    <s:RadioButton label="Do you see me?" fontSize="48" horizontalCenter="0" verticalCenter="0"/>
>>></s:Application>
>>>
>>>4. Use Flash Builder 4.7 to [Export Release Build], target at Apple iOS, press [Next], then press [Customize Launch...], add -useLegacyAOT=no to the packaging parameter, place it before -provisioning-profile parameter, press [OK], and then set all other stuff, press [Finish] to pack the Flex app to IPA file.
>>>
>>>5. When finished, setup the IPA to iPhone or iPad device, and run the app on the iDevice.
>>>
>>>6. On iDevice, you will see only a blank screen hanging there forever.
>>>
>>>This issue will not happen when -useLegacyAOT=yes on iOS devices, and on desktop device the issue will not happen too.
>>>
>>>I cross checked the RadioButton.as source code and the known issues in the new AIR IPA packager (-useLegacyAOT=no):
>>>http://helpx.adobe.com/air/kb/unable-update-air-mac-os1.html
>>>Still I cannot find a clue...
>>>
>>>If we cannot resolve this issue, we will have to use the old AIR IPA packager, and wait 5-15 minutes to pack the IPA every time, which is insane and totally wasting of time.
>>>
>>>I will continue investigate the issue, I'll keep you guys posted, and if you have any tips or solutions, please reply, thanks : )
>>>
>>>
>>>DarkStone
>>>2014-08-16

Re:Re:Found a showstopper issue caused by Spark RadioButton and -useLegacyAOT=no

Posted by Alex Harui <ah...@adobe.com>.
Maybe an issue with fte?
Sent via the PANTECH Discover, an AT&T 4G LTE smartphone.

DarkStone <da...@163.com> wrote:


Continue to narrow it down.

I ruled out ButtonBase.as, the real problem is TextBase.as and RichEdiableText.as

If you set a custom skin to a Button control, and in your custom skin if you don't use Label, RichText or RichEditableText at all, then you Button can be displayed on iOS devices.

If you use Label, RichText or RichEditableText in your Flex application, this issue will happen, the application will hanging on a blank screen forever!

The Label and RichText, they all extend from TextBase, the RichEdiableText extends from UIComponent.

There must be something in common between TextBase.as and RichEdiableText.as, I'm still digging.

DarkStone
2014-08-16


At 2014-08-16 11:02:35, "DarkStone" <da...@163.com> wrote:
>Hi folks,
>
>It's much worse than I thought!
>
>It turns out, the root problem isn't RadioButton.as, but ButtonBase.as !
>
>In other words, any class extends from ButtonBase will have this issue!
>
>At least I narrowed it down to ButtonBase.as, I'm checking the source code, hoping to find a clue.
>
>
>DarkStone
>2014-08-16
>
>
>
>At 2014-08-16 10:24:02, "DarkStone" <da...@163.com> wrote:
>>Hi folks,
>>
>>Here is the issue I found, I'm still trying to solve it, but may need some help:
>>
>>1. Using Flex SDK Installer 3.1 to install Flex SDK 4.13.0 + AIR 15 + FP 15 beta.
>>
>>2. Open Flash Builder 4.7 to use the Flex SDK 4.13.0, and create a very simple Flex Mobile Project.
>>
>>3. In the main application mxml, use this code:
>><?xml version="1.0" encoding="utf-8"?>
>><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
>>    <s:RadioButton label="Do you see me?" fontSize="48" horizontalCenter="0" verticalCenter="0"/>
>></s:Application>
>>
>>4. Use Flash Builder 4.7 to [Export Release Build], target at Apple iOS, press [Next], then press [Customize Launch...], add -useLegacyAOT=no to the packaging parameter, place it before -provisioning-profile parameter, press [OK], and then set all other stuff, press [Finish] to pack the Flex app to IPA file.
>>
>>5. When finished, setup the IPA to iPhone or iPad device, and run the app on the iDevice.
>>
>>6. On iDevice, you will see only a blank screen hanging there forever.
>>
>>This issue will not happen when -useLegacyAOT=yes on iOS devices, and on desktop device the issue will not happen too.
>>
>>I cross checked the RadioButton.as source code and the known issues in the new AIR IPA packager (-useLegacyAOT=no):
>>http://helpx.adobe.com/air/kb/unable-update-air-mac-os1.html
>>Still I cannot find a clue...
>>
>>If we cannot resolve this issue, we will have to use the old AIR IPA packager, and wait 5-15 minutes to pack the IPA every time, which is insane and totally wasting of time.
>>
>>I will continue investigate the issue, I'll keep you guys posted, and if you have any tips or solutions, please reply, thanks : )
>>
>>
>>DarkStone
>>2014-08-16

Re:Re:Found a showstopper issue caused by Spark RadioButton and -useLegacyAOT=no

Posted by DarkStone <da...@163.com>.
Continue to narrow it down.

I ruled out ButtonBase.as, the real problem is TextBase.as and RichEdiableText.as

If you set a custom skin to a Button control, and in your custom skin if you don't use Label, RichText or RichEditableText at all, then you Button can be displayed on iOS devices.

If you use Label, RichText or RichEditableText in your Flex application, this issue will happen, the application will hanging on a blank screen forever!

The Label and RichText, they all extend from TextBase, the RichEdiableText extends from UIComponent.

There must be something in common between TextBase.as and RichEdiableText.as, I'm still digging.

DarkStone
2014-08-16


At 2014-08-16 11:02:35, "DarkStone" <da...@163.com> wrote:
>Hi folks,
>
>It's much worse than I thought!
>
>It turns out, the root problem isn't RadioButton.as, but ButtonBase.as !
>
>In other words, any class extends from ButtonBase will have this issue!
>
>At least I narrowed it down to ButtonBase.as, I'm checking the source code, hoping to find a clue.
>
>
>DarkStone
>2014-08-16
>
>
>
>At 2014-08-16 10:24:02, "DarkStone" <da...@163.com> wrote:
>>Hi folks,
>>
>>Here is the issue I found, I'm still trying to solve it, but may need some help:
>>
>>1. Using Flex SDK Installer 3.1 to install Flex SDK 4.13.0 + AIR 15 + FP 15 beta.
>>
>>2. Open Flash Builder 4.7 to use the Flex SDK 4.13.0, and create a very simple Flex Mobile Project.
>>
>>3. In the main application mxml, use this code:
>><?xml version="1.0" encoding="utf-8"?>
>><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
>>    <s:RadioButton label="Do you see me?" fontSize="48" horizontalCenter="0" verticalCenter="0"/>
>></s:Application>
>>
>>4. Use Flash Builder 4.7 to [Export Release Build], target at Apple iOS, press [Next], then press [Customize Launch...], add -useLegacyAOT=no to the packaging parameter, place it before -provisioning-profile parameter, press [OK], and then set all other stuff, press [Finish] to pack the Flex app to IPA file.
>>
>>5. When finished, setup the IPA to iPhone or iPad device, and run the app on the iDevice.
>>
>>6. On iDevice, you will see only a blank screen hanging there forever.
>>
>>This issue will not happen when -useLegacyAOT=yes on iOS devices, and on desktop device the issue will not happen too.
>>
>>I cross checked the RadioButton.as source code and the known issues in the new AIR IPA packager (-useLegacyAOT=no):
>>http://helpx.adobe.com/air/kb/unable-update-air-mac-os1.html
>>Still I cannot find a clue...
>>
>>If we cannot resolve this issue, we will have to use the old AIR IPA packager, and wait 5-15 minutes to pack the IPA every time, which is insane and totally wasting of time.
>>
>>I will continue investigate the issue, I'll keep you guys posted, and if you have any tips or solutions, please reply, thanks : )
>>
>>
>>DarkStone
>>2014-08-16

Re:Found a showstopper issue caused by Spark RadioButton and -useLegacyAOT=no

Posted by DarkStone <da...@163.com>.
Hi folks,

It's much worse than I thought!

It turns out, the root problem isn't RadioButton.as, but ButtonBase.as !

In other words, any class extends from ButtonBase will have this issue!

At least I narrowed it down to ButtonBase.as, I'm checking the source code, hoping to find a clue.


DarkStone
2014-08-16



At 2014-08-16 10:24:02, "DarkStone" <da...@163.com> wrote:
>Hi folks,
>
>Here is the issue I found, I'm still trying to solve it, but may need some help:
>
>1. Using Flex SDK Installer 3.1 to install Flex SDK 4.13.0 + AIR 15 + FP 15 beta.
>
>2. Open Flash Builder 4.7 to use the Flex SDK 4.13.0, and create a very simple Flex Mobile Project.
>
>3. In the main application mxml, use this code:
><?xml version="1.0" encoding="utf-8"?>
><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
>    <s:RadioButton label="Do you see me?" fontSize="48" horizontalCenter="0" verticalCenter="0"/>
></s:Application>
>
>4. Use Flash Builder 4.7 to [Export Release Build], target at Apple iOS, press [Next], then press [Customize Launch...], add -useLegacyAOT=no to the packaging parameter, place it before -provisioning-profile parameter, press [OK], and then set all other stuff, press [Finish] to pack the Flex app to IPA file.
>
>5. When finished, setup the IPA to iPhone or iPad device, and run the app on the iDevice.
>
>6. On iDevice, you will see only a blank screen hanging there forever.
>
>This issue will not happen when -useLegacyAOT=yes on iOS devices, and on desktop device the issue will not happen too.
>
>I cross checked the RadioButton.as source code and the known issues in the new AIR IPA packager (-useLegacyAOT=no):
>http://helpx.adobe.com/air/kb/unable-update-air-mac-os1.html
>Still I cannot find a clue...
>
>If we cannot resolve this issue, we will have to use the old AIR IPA packager, and wait 5-15 minutes to pack the IPA every time, which is insane and totally wasting of time.
>
>I will continue investigate the issue, I'll keep you guys posted, and if you have any tips or solutions, please reply, thanks : )
>
>
>DarkStone
>2014-08-16