ネイティブ拡張を作成しています。このネイティブ拡張を使用している Flex Mobile アプリから SWF を実行しようとすると、デフォルトのパッケージが利用可能であるにもかかわらず、ロードに失敗します。エラーは発生しません。シミュレーターで起動でき、すべて正常に動作します。
拡張機能を構築するときのディレクトリ構造は次のとおりです (会社名を 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 .
これは私の extension.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 Device Simulator でそれを使用してプロジェクトを実行すると、次のエラーが発生します。
エラー:
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