Skip to main content
Inspiring
April 29, 2013
Question

Adobe AIR 3.7 - iOS run error

  • April 29, 2013
  • 2 replies
  • 1406 views

Hi,


I have set up a simple project to test the latest release of Adobe Air 3.7 which allow loading external swf with bytecode inside.


The project use the krpano_as3_interface, load the main krpano.swf, and after a simple xml file.


Building and running in iOs SImulator using my Flex IDe works fine, the panorama load.


Building and trying runnig on an iOs Device connected with USB doesn't works.


I get this error :

Trying to connect to Player

Player connected; session starting.

[trace] krpano_load

[trace] krpano_load_complete

[Fault] exception, information=Error: Error #3747: Multiple application domains are not supported on this operating system.

Following this blog article, http://blogs.adobe.com/airodynamics/2012…ir-apps-on-ios/, i correctly load krpano swf file. But it seems that adding krpano content on stage is not possible.


Any idea ?

[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"

               applicationDPI="160"

               applicationComplete="krpano_load()"

               width="100%" height="100%" usePreloader="false"

        >

    <fx:Script>

                    <![CDATA[

        import mx.core.UIComponent;

        import mx.events.FlexEvent;

        import mx.core.FlexGlobals;

        import mx.events.ResizeEvent;

        import flash.system.Security;

        import krpano_as3_interface;

        public var krpano:krpano_as3_interface = null;

        public var area:Object;

        public var _krpano:*;

        public function krpano_load():void

        {

            trace("krpano_load");

            var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null);

            loaderContext.allowLoadBytesCodeExecution = true;

            loaderContext.allowCodeImport = true;

            var krpanoloader:Loader = new Loader();

            krpanoloader.contentLoaderInfo.addEventListener(Event.COMPLETE, krpano_load_complete);

            krpanoloader.load(new URLRequest("./krpano.swf"), loaderContext);

        }

        public function krpano_load_complete(event:Event):void

        {

            trace("krpano_load_complete");

            (event.target.content as Object).embeddedstartup(stage, krpano_ready);

            _krpano = (event.target.content as Object);

        }

        public function krpano_ready(krpanointerface:krpano_as3_interface):void

        {

            trace("krpano_ready");

            krpano = krpano_as3_interface.getInstance();

            krpano.call("showlog(true);");

            area = krpano.get("area");

            area.x      = 0;

            area.y      = 0;

            area.width  = stage.stageWidth;

            area.height = stage.stageHeight;

            krpano.call("loadpano(./krpano.xml,null,MERGE,BLEND(1));");

        }

        ]]>

          </fx:Script>

</s:Application>



This topic has been closed for replies.

2 replies

Nimisha1
Participating Frequently
May 2, 2013

The error #3747: "Multiple application domains are not supported on this operating system." occurs when the Applicationdomain is not set to currentDomain. Can you please debug if the ApplicationDomain is getting set to currentDomain rather than the default one?

Thanks,

Nimisha

Inspiring
May 1, 2013

Is your external swf part of the package? As I understand it, it must be part of the package in order for the compiler to strip out the code from the swf and package it into the main swf.