64 位 ANE,用于 iOS 8 向后兼容

64 Bit ANE for iOS 8 backwards compatibility

我正在尝试创建一个简单的 ANE 来扩展我的 Flex 应用程序。

我按照本教程完成了这个任务:
http://www.lorenzonuvoletta.com/how-to-create-your-own-ane-for-ios-using-adobe-air/

我用 iOS 8.1 SDK 编译了我的原生库,因为我在一些 Blocks 中读到我应该支持 Apple 的 64 位限制。

我将 plattformoptions.xml 更改为以下内容(发现不再支持最低 4.0 的 sdk):

<?xml version="1.0" encoding="utf-8"?>
<platform xmlns="http://ns.adobe.com/air/extension/3.7">
    <sdkVersion>8.1</sdkVersion>
    <linkerOptions>
        <option>-ios_version_min 6.1</option>
    </linkerOptions>
</platform>

我的 ANE 在 iOS 8.1 下工作正常,但是当我尝试在带有 iOS 7.1.1 设备的同一个测试应用程序中使用它时,我收到以下错误:

[Fault] exception, information=VerifyError: Error #1014: Class de.hoermann.ast.eemawe.ane.nativeAlert::ANENativeAlert could not be found.

我使用 Flex SDK 4.14.0 和 AIR Runtime 16 编译了应用程序。

我如何支持比 8.1 更旧的 iOS 版本?

我已经将 Xcode 中的 iOS 部署目标设置为 4.3,并尝试使用 iOS 7.1 SDK 编译本机库。

经过 2 天的搜索和测试,我卡在了这个...

好吧,我终于找到了解决这个问题的方法! :)

此错误是由 AIR 16 运行时中的错误引起的。 当应用程序使用 ANE 并在具有 iOS 7.x.

的 64 位设备上运行时

使用 AIR 17(测试版)编译应用程序修复了该问题。

A​​ir Beta 可以在这里找到:http://labs.adobe.com/downloads/air.html (当您使用 Flex SDK 时,请务必下载 AIR SDK for Flex Developers)

我希望我能帮助其他有类似问题的人post。