适用于 iOS 8 的 64 位 ANE 向后兼容
Posted
技术标签:
【中文标题】适用于 iOS 8 的 64 位 ANE 向后兼容【英文标题】:64 Bit ANE for iOS 8 backwards compatibility 【发布时间】:2015-04-02 17:56:57 【问题描述】:我正在尝试创建一个简单的 ANE 来扩展我的 Flex 应用程序。
我按照本教程完成此任务:http://www.lorenzonuvoletta.com/how-to-create-your-own-ane-for-ios-using-adobe-air/
我使用 iOS 8.1 SDK 编译了我的原生库,因为我已经阅读了一些我应该支持来自 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 天的搜索和测试后,我陷入了困境……
【问题讨论】:
【参考方案1】:好吧,我终于找到了解决这个问题的方法! :)
此错误是由 AIR 16 运行时中的错误引起的。 当应用程序使用 ANE 并在装有 iOS 7.x 的 64 位设备上运行时。
使用 AIR 17 (Beta) 编译应用程序可以解决此问题。
Air Beta 可以在这里找到:http://labs.adobe.com/downloads/air.html (使用 Flex SDK 时,请务必下载 AIR SDK for Flex Developers)
我希望我能在这篇文章中帮助其他有类似问题的人。
【讨论】:
以上是关于适用于 iOS 8 的 64 位 ANE 向后兼容的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 7 Stack Views 如何向后兼容 iOS 8 和 iOS 7?
适用于 AIR Android 应用程序的 Chromecast 和 ANE - 访问 android.os