我有一个 Flash CC/AS3 文档,打算在 iOS 和 Android 平台上部署。
接下来我需要做的是将该应用程序与 Facebook 集成。我认为最合乎逻辑的方法是拥有一个类来处理所有 Facebook 交互内容并调用适当的方法,无论我们是为 Android 版 Air 还是 iOS 版 Air 编译。我认为这不会太难做到。
当我开始使用 Persistant Login 时,问题就出现了。要在 iOS 上完成此操作,我需要将 .ane 文件包含到我的 .fla 中。好的,所以此时我复制 .fla 并为 Android 设置 1 个,为 iOS 设置 1 个(这一直是计划)。
因此,在 iOS 应用程序中,我接下来必须import com.sbhave.openUrl.*;
引用 .ane 文件。我希望我能够做类似的事情
try{
import com.sbhave.openUrl.*;
}
catch(e){
//Set some constant to let us know that we are on android
}
另一种选择(我认为)是对 iOS 进行所有更改,做一个差异并创建一个补丁,以便在构建时快速换入和换出 iOS 原生扩展。是否有人对我如何捕获失败的导入或根据 .ane 文件是否存在有条件地进行导入有任何建议。
谢谢
PS..
哦,是的,我忘了说这很重要的原因是 Air for iOS 无法在包含扩展的 PC 上运行,而且每次我需要测试时编译 + 安装都需要大量工作。
PPS..
此问题并非特定于 Facebook 持久登录,因为各种位都需要其他本机扩展。问题的重点是,AS3 代码是否可以根据 .FLA 中设置的参数有条件地包含头文件或处理不同的包含