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 :
ZitatAlles anzeigen
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.
at flash.display::Loader/loadBytes()
at kprotect/_4()
at kprotect/ats()
at kprotect/embeddedstartup()
at TestAir37/krpano_load_complete()
Following this blog article, http://blogs.adobe.com/airodynamics/2…ir-apps-on-ios/, i correctly load krpano swf file. But it seems that adding krpano content on stage is not possible.
Any idea ?
<?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>
Alles anzeigen