我在构建用于iOS应用的ANE时遇到问题。我已经能够创建一个记录字符串的基本ANE。但是,当我尝试使用它来打包框架(特别是Firebase核心框架)时,我遇到了麻烦。
我已成功构建iOS静态库(.a文件),确保框架已链接。并成功编译了扩展的ActionScript端(iOS和默认实现)。
令人沮丧的是,我甚至设法成功打包.ane文件。但是,当我将它包含在Adobe Animate / Flash中的应用程序的构建中时,在发布ipa时出现看似无用的错误消息:
" Adobe Animate 输入无效"
似乎我打包框架的方式有问题,因为将其从框架中删除会导致应用程序无问题地发布。
我使用的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>
我打包的文件夹结构是:
- 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
我用来创建文件的命令是(添加了新行以便于阅读):
$ 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。
答案 0 :(得分:1)
您需要更改在iOS上嵌入.framework文件的方式。您可以将它们复制到&#34; yourAirSDK \ lib \ aot \ stub&#34;中,而不是尝试使用平台依赖项将它们嵌入到您的.ane文件中。夹。这个替代解决方案的好处是你的.ane文件大小不会太大。
我们已经构建了Firebase ANE,如果您愿意,可以在我们的wiki上找到更多guidlines https://github.com/myflashlab/Firebase-ANE/wiki/A.3.-Add-the-SDK随时可以获得您在Wiki页面上找到的信息的灵感。
答案 1 :(得分:0)
从https://github.com/monumentichb/Firebase-Admob-ANE下载admob.ane 然后将其添加到flex项目中。 用as3调用函数。 根本不需要oc。