Highlighted

Hello World app for iPad doesn't run when using Standard packaging.

Explorer ,
Jun 04, 2015

Copy link to clipboard

Copied

I'm having some issues getting a basic R&D app to run on an iPad.  When I use Fast packaging, the app will run fine (possibly slowly), but when I use Standard packaging, I just get a blank white screen that doesn't do anything.

I have reduced it to two different Hello World apps that I can reproduce this with:

1:

package

{

    import flash.display.Sprite;

    import flash.events.Event;

    import flash.text.TextField;

  

    public final class HelloWorld1 extends Sprite

    {

        private var m_lbl:TextField = new TextField();

      

        public function HelloWorld1()

        {

            stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);

            function init(pEvent:Event = null):void {

                removeEventListener(Event.ADDED_TO_STAGE, init);

                addChild(m_lbl);

                m_lbl.text = "Hello, World!";

            }

        }

    }

}

2:

package

{

    import flash.display.Sprite;

    import flash.events.Event;

  

    public final class HelloWorld2 extends Sprite

    {

        public function HelloWorld2()

        {

            stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);

            function init(pEvent:Event = null):void {

                removeEventListener(Event.ADDED_TO_STAGE, init);

              

                graphics.beginFill(0x000000);

                graphics.drawRect(0, 0, 320, 240);

                graphics.endFill();

            }

        }

    }

}

When I run these apps on the company's iPad using Fast packaging, I get either a simple label or a black rectangle to show up on the screen, depending on which one.  But when I run either using Standard packaging - which is supposed to not have any differences at all, aside from speed - the screen just comes up in plain white, and nothing happens.

What would there be to check?  Thanks!

UPDATE:

This is in the device's crash logs for the app:

Exception Type:  EXC_RESOURCE

Exception Subtype: WAKEUPS

Exception Message: (Limit 150/sec) Observed 468/sec over 300 secs

Apparently the Standard packaging compilation is inserting an exceptionally high number of thread sleep/wakeup calls, causing the thread to crash in iOS.

TOPICS
Development

Views

579

Likes

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

Hello World app for iPad doesn't run when using Standard packaging.

Explorer ,
Jun 04, 2015

Copy link to clipboard

Copied

I'm having some issues getting a basic R&D app to run on an iPad.  When I use Fast packaging, the app will run fine (possibly slowly), but when I use Standard packaging, I just get a blank white screen that doesn't do anything.

I have reduced it to two different Hello World apps that I can reproduce this with:

1:

package

{

    import flash.display.Sprite;

    import flash.events.Event;

    import flash.text.TextField;

  

    public final class HelloWorld1 extends Sprite

    {

        private var m_lbl:TextField = new TextField();

      

        public function HelloWorld1()

        {

            stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);

            function init(pEvent:Event = null):void {

                removeEventListener(Event.ADDED_TO_STAGE, init);

                addChild(m_lbl);

                m_lbl.text = "Hello, World!";

            }

        }

    }

}

2:

package

{

    import flash.display.Sprite;

    import flash.events.Event;

  

    public final class HelloWorld2 extends Sprite

    {

        public function HelloWorld2()

        {

            stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);

            function init(pEvent:Event = null):void {

                removeEventListener(Event.ADDED_TO_STAGE, init);

              

                graphics.beginFill(0x000000);

                graphics.drawRect(0, 0, 320, 240);

                graphics.endFill();

            }

        }

    }

}

When I run these apps on the company's iPad using Fast packaging, I get either a simple label or a black rectangle to show up on the screen, depending on which one.  But when I run either using Standard packaging - which is supposed to not have any differences at all, aside from speed - the screen just comes up in plain white, and nothing happens.

What would there be to check?  Thanks!

UPDATE:

This is in the device's crash logs for the app:

Exception Type:  EXC_RESOURCE

Exception Subtype: WAKEUPS

Exception Message: (Limit 150/sec) Observed 468/sec over 300 secs

Apparently the Standard packaging compilation is inserting an exceptionally high number of thread sleep/wakeup calls, causing the thread to crash in iOS.

TOPICS
Development

Views

580

Likes

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
Jun 04, 2015 0
Adobe Employee ,
Jun 05, 2015

Copy link to clipboard

Copied

Hi,

I have checked your Project with AIR SDK 18.0 and IOS 8.1 on Flash Builder 4.7. It is working fine at my end.

Could you please share your AIR SDK version?

Is your issue is device specific?

Thanks

Adobe AIR Team

Likes

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
Reply
Loading...
Jun 05, 2015 1
Explorer ,
Jun 09, 2015

Copy link to clipboard

Copied

Hi, piyushb89979246,

Thanks for the reply.  I'm trying to upgrade my SDK, but I'm running into two issues.  One of them is that when I got 18.0 from http://www.adobe.com/devnet/air/air-sdk-download.html (the Windows version) and installed it according to the directions at Update the AIR SDK for ActionScript Projects | Flash Builder 4.7, I was no longer able to see my iPad on the list of connected devices when I tried to run a program.  When I took the version back down to 3.4, I was able to see the iPad again, but when I put it back on 18.0, I lost it again.  Another problem is that, though I've also tried downloading 17.0 or the SDK-only version for 18.0, the company anti-virus or whatever seems pretty sure there is a Trojan attached called "Sality.AT_7" and keeps blocking me.

Do you know what might be happening?  Thank you.

Likes

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
Reply
Loading...
Jun 09, 2015 0
Adobe Employee ,
Jun 10, 2015

Copy link to clipboard

Copied

Hi Howitzer21‌,

Issue1: Please make Sure that if you are using AIR SDK 18, then you should use latest version of iTunes for Windows i.e 12.1.2 for Windows 64 bit

Issue2: I have downloaded latest SDK 18.0.0.143  on Windows 8.1 from this link Download Adobe AIR SDK for Windows‌ and i am not facing any issue's. We have no such file Sality.AT_7 in Windows AIR SDK. It could be issue with your local system.

Thanks

Piyush

Likes

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
Reply
Loading...
Jun 10, 2015 0
Explorer ,
Jul 20, 2015

Copy link to clipboard

Copied

Thank you, piyushb89979246.

Unfortunately it's still having issues.  (Higher-priority stuff came up for a little while, but I'm back on this project now.)  I confirmed the iTunes version to be 12.2.1.16 as of an update today, and I also tried doing a clean reinstallation of Flash Builder 4.7 (replacing the AIR SDK with the one from your link) and upgrading iOS from a lower version of 8.x to 8.4.  Flash Builder still can't detect the device unless I use the 3.4 SDK.  The desktop OS is Windows 7 64-bit, and the iOS device is an iPad mini 2.

EDIT:

When running this command:

     C:\Windows\system32>"C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\bin\adt.bat" -devices -platform ios

I get this output with 3.4:

     List of attached devices:

     Handle             DeviceClass      DeviceUUID                                      DeviceName

     someInt                 iPad               someUID                                       someName

But with 18.0 it's:

     iTunes MobileDevice library not found.Please ensure iTunes version 12.1.0.71 or greater is installed.

Apparently there's a thread here about it, advising to install a version of iTunes designed for older video cards:

     http://forum.starling-framework.org/topic/flashbuilder-ios-device-detection-on-windows

I'm checking it out at the moment and am going to see what happens.

Likes

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
Reply
Loading...
Jul 20, 2015 0
Explorer ,
Jul 20, 2015

Copy link to clipboard

Copied

That last thing I mentioned, about installing a different version of iTunes, didn't quite work, but it was still the iTunes suite installation that was the last thing keeping it from being pushed across the goal line.  Instead of installing a version for older video cards, what worked for me was a (semi-?) clean reinstallation of iTunes as specified in rs1600's last comment in this thread: failed to load library itunesmobiledevice.dll -... | Apple Support Communities  After that, I could use Standard Packaging.  Fast Packaging is having some sort of issue, but it doesn't seem to make that much of a difference in deployment time for at least one of my projects, so I may not care enough to actually fix it.  Thanks for y'all's help in getting this fixed!

Likes

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
Reply
Loading...
Jul 20, 2015 0
Advocate ,
Jun 05, 2015

Copy link to clipboard

Copied

stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);

            function init(pEvent:Event = null):void {

Never and never do like that!

Adobe AIR have always stage available in your Document class so checking if stage is already there - it's too much. Also don't use any methods/functions inside another methods/functions like you done:

public function myFunc(){

  function myAnotherFunc..

}

AS3 it's not an JS! A lot of bugs can be skipped if you will use right model of development!

Likes

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
Reply
Loading...
Jun 05, 2015 0