【发布时间】:2016-12-07 11:35:20
【问题描述】:
我在构建用于 iOS 应用的 ANE 时遇到问题。我已经能够创建一个记录字符串的基本 ANE。然而,当我尝试用它打包框架(特别是 Firebase 核心框架)时,我遇到了麻烦。
我已成功构建 iOS 静态库(.a 文件),确保框架已链接。并成功编译了扩展的 ActionScript 端(iOS 和默认实现)。
令人沮丧的是,我什至成功地打包了一个 .ane 文件。但是,当我在 Adobe Animate/Flash 中为我的应用程序构建时,我在发布 ipa 时收到一条看似无用的错误消息:
“Adobe Animate输入无效”
我打包框架的方式似乎有问题,因为从 ane 中删除它们会导致应用发布没有问题。
我正在使用的 iOS platform.xml 文件包含以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<platform xmlns="http://ns.adobe.com/air/extension/3.5">
<sdkVersion>9.3.0</sdkVersion>
<linkerOptions>
<option>-ios_version_min 7.0</option>
<option>-rpath @executable_path/Frameworks</option>
</linkerOptions>
<packagedDependencies>
<packagedDependency>Frameworks/FirebaseAnalytics.framework</packagedDependency>
<packagedDependency>Frameworks/FirebaseInstanceID.framework</packagedDependency>
<packagedDependency>Frameworks/GoogleInterchangeUtilities.framework</packagedDependency>
<packagedDependency>Frameworks/GoogleSymbolUtilities.framework</packagedDependency>
<packagedDependency>Frameworks/GoogleUtilities.framework</packagedDependency>
</packagedDependencies>
</platform>
我打包ane的文件夹结构是:
- extension.xml
- platform.xml
- Extension.swc
+ default
- library.swf
+ ios
- library.swf
- libExtension.a
+ Frameworks
- FirebaseAnalytics.framework
- FirebaseInstanceID.framework
- GoogleInterchangeUtilities.framework
- GoogleSymbolUtilities.framework
- GoogleUtilities.framework
我用来创建 ane 的命令是(为便于阅读而添加了新行):
$ adt -package -target ane Extension.ane extension.xml -swc Extension.swc
-platform iPhone-ARM -platformoptions platform.xml
Frameworks/FirebaseAnalytics.framework
Frameworks/FirebaseInstanceID.framework
Frameworks/GoogleInterchangeUtilities.framework
Frameworks/GoogleSymbolUtilities.framework
Frameworks/GoogleUtilities.framework
-C ios/ . -platform default -C default/ .
谁能看到我在这里做错了什么? Adobe 的教程和文档在打包第三方依赖项方面非常糟糕,我一直无法找到任何明确的示例来说明如何做到这一点。
我尝试使用 Flex sdk 版本 4.6.0(随 Flash Builder 4.7 提供)和 4.15.0(直接从 Apache 站点下载)。使用 Air sdk 版本 22.0.0.153。
【问题讨论】:
标签: ios flash apache-flex air ane