我正在尝试为 iOS 制作我的第一个 ANE,但在尝试编译 .IPA 文件时发现了一个问题。
我得到的错误是:
找不到目标平台所需的应用程序所需的本机扩展“XXX”的实现。
其中,“XXX”是我的 ANE 的包。
好吧,我使用带有 AIR 3.2 SDK 的 Flash Build 4.6 来编译一个 SWC 文件,其中包含我需要的所有功能。我使用 XCode 编译了一个包含所有需要的 Objective-C 代码的 .A 文件。两个文件都编译得很好。比我使用 ADT 编译 .ANE 文件。它也工作得很好。
我的 extension.xml 文件似乎没问题:
<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>XXX</id>
<versionNumber>1.0.0</versionNumber>
<name>ANE_NAME</name>
<platforms>
<platform name="iPhone-ARM">
<applicationDeployment>
<nativeLibrary>libExtension.a</nativeLibrary>
<initializer>ExtensionInitializer</initializer>
<finalizer>ExtensionFinalizer</finalizer>
</applicationDeployment>
</platform>
<platform name="default">
<applicationDeployment/>
</platform>
</platforms>
</extension>
同样,XXX 是我的扩展包。(如:com.example.myANE)
我也在使用 platform.xml 文件:
<?xml version="1.0" encoding="utf-8" ?>
<platform xmlns="http://ns.adobe.com/air/extension/3.1">
<sdkVersion>5.1</sdkVersion>
<linkerOptions>
<option>-ios_version_min 4.2</option>
</linkerOptions>
</platform>
并使用以下代码编译 ANE:
adt -package -target ane MyANE.ANE extension.xml -swc MyANE.swc -platform iPhone-ARM -platformoptions platform.xml library.swf libExtension.a -platform default library.swf
这一切都很好,我有一个 ANE 文件。
嗯,我正在做的项目已经有 4 个其他 ANE,所以我认为 flash 部分没有问题。但是当我使用 ADT 编译 IPA 时,我得到了错误。
任何人都有可以帮助的见解?