如果是几个月前,那么答案毫无疑问是“不支持”。然而,现在的答案是“也许”(或者如果你是个乐观主义者,“很可能”)。Air 3.0版本发布后,它现在支持
本地扩展。这些扩展是原生代码,它们有一个包装器API,可以将它们编译到Air应用程序中并从中调用。
事实上,在为这个答案进行研究时,我决定快速查找一下,并找到了一个存储库,看起来有人已经通过ANE实现了
应用内购买。但我没有亲自测试过这个扩展,但它可能是一个很好的起点,以了解它是如何实现的。
你不会发现关于ANE的太多信息的原因是它们仅在上个月的Air 3.0更新中得到了支持。它们目前不受Flash CS5(或5.5)或Flash Builder 4.5的支持。它们得到了Flash Builder 4.6的支持,该版本目前处于封闭测试阶段。但你可能仍然能够偷偷摸进去,而且它应该很快就会发布。
最大的“缺点”是这些扩展需要使用针对所需设备的本地格式进行开发。因此,如果你想制作一个iOS扩展,那么你需要在Mac上使用Objective-C和xcode进行编写。
基本上与之前的答案相同。使用ANE应该是可能的。但我还没有找到任何人做过的例子。
保存数据/状态到设备非常简单。如果你想要LSO,则需要查看{{link3:
SharedObject.getLocal()
}}方法。或者你可以直接使用低级别的
File
写入。查看{{link4:
File.applicationStorageDirectory
}}。对于应该加密的敏感信息,可以使用{{link5:
EncryptedLocalStore
}}类,我认为它在iOS上得到了支持,但在Android上不支持。所有这些都应该提供一种良好的方法,使你能够在应用程序会话之间保留数据。