【发布时间】:2017-11-20 13:07:52
【问题描述】:
我正在使用 FlashBuilder 4.7 和 Air SDK 25.0 构建一个 iOS 应用程序。该应用程序具有通过在运行时导入的外部 SWF 安装字体的代码(外部 SWF 中没有代码,只有字体)。导入的文件已经工作了几个月,但现在在设备上的调试器中抛出以下错误:
'未编译的 ActionsScript'
我已经回顾了以前的版本,一些一直运行良好的版本突然在 swf 文件上抛出错误。其他旧版本可以导入相同的 swf,但是在运行失败的版本后,正在运行的版本将开始抛出错误!
还有其他人遇到过这样的问题吗? 我最近从 SDK 22 升级到 25,但问题在此之后出现了一段时间。唯一显着的变化是运行一个使调试崩溃的狡猾的 zip ANE。我已移除 ANE,但我怀疑某处可能已损坏。
我已尝试通过删除工作区中的
.metadata文件夹来重置 FlashBuilder 设置。尝试清理项目,尝试复制项目,尝试重新发布要导入的 swf。
无法弄清楚为什么有些构建不起作用而另一些构建起作用,但随后停止工作而对项目没有任何更改。我确信有一个修复程序会突然使所有构建再次工作......
大家有什么建议吗?
【问题讨论】:
-
如何导入字体 swf?它是对某个 Web 服务器的 URL 请求吗?如果您在自己的主应用程序中
embed字体 swf 会发生什么情况,这样这两件事就可以作为一个单元编译在一起?另外为什么要在单独的 SWF 中使用字体? -
应用程序调用包含带有字体的 swf 的文件,因此特定的“项目”可以使用这些字体来匹配项目的样式。字体包含在 fla 文件中,并给出了一个带有“export for Actionscript”但没有代码的类名。这个系统已经在我的应用程序中运行了几个月,但现在所有构建都将 swf 报告为包含 ABC 代码。
-
Uncompiled ActionScript是 Apple 的问题,iOS 方面的情况最近可能发生了变化(即:现在任何外部加载的 swf 都可能被视为不安全)。 “该应用程序调用了一个包含 swf 的文件” 所以跳过文件并直接将embed这个字体 swf 导入您的应用程序,然后像任何其他导入的类一样使用它。如果不熟悉通过代码嵌入 swf,请参阅此 Answer。字体文件不能在编译之前应用到您的应用程序中吗?我的意思是为什么要在单独的 FLA 中制作额外的 swf?,所有这些都可以在您自己的主应用程序中.. -
感谢 VCOne。目的是在加载时加载项目所需的任何字体,并使用 css 格式化文本,然后在打开新项目时卸载旧字体并为新项目加载新字体。无法将所有字体都嵌入到应用程序中。工作得很好!问题是 ios 似乎突然用字体阻止了 swf - 嗯,也许是为了阻止人们用 swfs 加载字体;)
标签: ios actionscript-3 flash air flash-builder