Air ios 导入 swf (无代码) 突然开始报 'Uncompiled AS' 错误
Posted
技术标签:
【中文标题】Air ios 导入 swf (无代码) 突然开始报 \'Uncompiled AS\' 错误【英文标题】:Air ios imported swf (no code) suddenly starts giving 'Uncompiled AS' errorAir ios 导入 swf (无代码) 突然开始报 'Uncompiled AS' 错误 【发布时间】: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 加载字体;)
【参考方案1】:
我发现了我的问题。 看来我以前只使用“快速”打包方法来测试 ios 设备上的应用程序,该方法有效。 当设置为“标准”(构建)打包以在设备上进行测试时,它会导致在运行时导入的 swf(带有嵌入式字体)具有“未编译的动作脚本”。 这回答了我的原始查询,但如果有人有解决方法或在运行时导入字体的替代方法,我会很高兴听到!
【讨论】:
以上是关于Air ios 导入 swf (无代码) 突然开始报 'Uncompiled AS' 错误的主要内容,如果未能解决你的问题,请参考以下文章
Adobe AIR - 描述符文件中内容标签的动态 SWF 值
Adobe Air 加载内部带有 allowDomain('*') 的外部 swf