Air Native Extension не распознает расширение по умолчанию, поэтому SWF-файлы, созданные с его помощью, не запускаются

Я создаю собственное расширение, и когда я пытаюсь запустить SWF из приложения Flex Mobile, которое использует это собственное расширение, оно не загружается, хотя доступен пакет по умолчанию. Это не дает мне никаких ошибок. Я могу запустить его в симуляторе, и все работает нормально.

При создании расширения моя структура каталогов выглядит следующим образом (замена названия моей компании на ThirdParty)

build/
   ThirdParty.framework
   ThirdParty.swc
   default/
       library.swf (This is from a flex library project that is just a stub for the ANE)
   ios/
       library.swf (This is from a flex library project that connects with libThirdParty.a)
       libThirdParty.a
       ThirdParty.bundle
       platformoptions.xml

Это команда, которую я запускаю для ее создания:

adt -package -target ane ThirdParty.ane extension.xml -swc ThirdParty.swc -platform iPhone-ARM -platformoptions ios/platformoptions.xml ./ThirdParty.framework -C ios . -platform iPhone-x86 -platformoptions ios/platformoptions.xml ./ThirdParty.framework -C ios . -platform default -C default .

Это мое расширение.xml

<extension xmlns="http://ns.adobe.com/air/extension/3.8"> 
    <id>com.thirdparty.sdk</id> 
    <versionNumber>0.0.1</versionNumber> 
    <platforms>
        <platform name="iPhone-ARM"> 
            <applicationDeployment> 
                <nativeLibrary>libThirdPartyAirSDK.a</nativeLibrary> 
                <initializer>ThirdPartyExtensionInitializer</initializer>
                <finalizer>ThirdPartyExtensionFinalizer</finalizer>
            </applicationDeployment>
        </platform>
        <platform name="iPhone-x86"> 
            <applicationDeployment> 
                <nativeLibrary>libThirdPartyAirSDK.a</nativeLibrary> 
                <initializer>ThirdPartyExtensionInitializer</initializer>
                <finalizer>ThirdPartyExtensionFinalizer</finalizer>
            </applicationDeployment>
        </platform>
        <platform name="default">
            <applicationDeployment/>
        </platform>
    </platforms> 
</extension>

Варианты моей платформы:

<platform xmlns="http://ns.adobe.com/air/extension/3.8"> 
    <sdkVersion>6.1</sdkVersion>
    <linkerOptions> 
            <option>-framework ThirdParty</option> 
            <option>-liconv</option> 
    </linkerOptions>
    <packagedDependencies> 
        <packagedDependency>ThirdParty.framework</packagedDependency> 
    </packagedDependencies>
</platform>

Примечания:

  • Я загрузил и наложил AirSDK 3.9, но если я использую пространство имен 3.9, он жалуется. (Хотя он не жалуется, когда я использую пространство имен приложений 3.9)
  • Расширение ios работает просто отлично, оно запускает расширение по умолчанию, которое не работает.
  • Если я запускаю проект, используя его в симуляторе устройства AIR, я получаю следующую ошибку

Ошибка:

Process terminated without establishing connection to debugger.

Not supported native extensions profile

Launch command details:  "/Applications/Adobe Flash Builder 4.7/sdks/4.6.0/bin/adl" - runtime "/Applications/Adobe Flash Builder 4.7/sdks/4.6.0/runtimes/air/mac" -profile extendedMobileDevice -screensize 640x920:640x960 -XscreenDPI 326 -XversionPlatform IOS -extdir "/Users/username/Documents/Adobe Flash Builder 4.7/.metadata/.plugins/com.adobe.flexbuilder.project.ui/ANEFiles/ThirdPartyGameApp/macosx/" /Users/username/src/github.com/thirdparty/ThirdPartyGameApp/bin-debug/ThirdPartyGameApp-app.xml /Users/username/src/github.com/thirdparty/ThirdPartyGameApp/bin-debug 

person Tony Hauber    schedule 09.10.2013    source источник
comment
Но adl — это средство запуска отладки, а не компилятор. Так не должен ли он запускаться с тем же SDK, который его скомпилировал?   -  person Tony Hauber    schedule 09.10.2013