Flash Builder、Adobe AIR 和 iOS 开发的包检查失败错误

Posted

技术标签:

【中文标题】Flash Builder、Adobe AIR 和 iOS 开发的包检查失败错误【英文标题】:PackageInspectionFailed Error with FlashBuilder, Adobe AIR and iOS development 【发布时间】:2013-09-24 21:09:03 【问题描述】:

使用 FB4.7 Premium、Air 3.4 构建 ios 应用。至此,只是一个非常简单的测试框架。突然,构建器抛出 PackageInspectionFailed 错误,并且不会完成构建。没有解释为什么。模拟器运行良好。

我应该指出,我整天都在将它构建和打包到我的 iPad 上,没有任何问题。突然,我收到此错误,应用程序不再构建。我做的最后一件事是添加这一行: text.autoSize = TextFieldAutoSize.LEFT;

更新

撤消这些编辑后,我现在收到一个新错误(这是进度吗?)ApplicationVerificationFailed。再次没有进一步的信息。我没有更改证书、构建参数或其他任何内容。

有趣的是,手动将生成的 .ipa 拖到 iTunes,然后与 iPad 同步确实会安装应用程序,没有错误。它只是为我的测试/调试过程添加了更多步骤。

这是什么错误?我应该寻找哪些可能导致错误的条件?

请为 Adob​​e Bugbase 投票

我在这里提交了 3.9 的错误:请投票:https://bugbase.adobe.com/index.cfm?event=newBug

Sarah Northway 在这里有另一个 3.8 的错误报告:请投票:https://bugbase.adobe.com/index.cfm?event=bug&id=3650414

让我们了解一下 Adob​​e 的情况 - 需要提供有关此错误原因的更多信息。

【问题讨论】:

在某些情况下,这似乎是在应用程序打开并在测试设备上运行时发生的。不知道是不是这个问题。 【参考方案1】:

我今天间歇性地发生了几次这种情况,似乎是在我将 AIR SDK 更新到 4.0 以及更新一些本机 app.xml 配置数据时触发的。

在 Flash Builder 上进行了短暂的咒骂、谷歌搜索和拉扯脸后,我发现清理项目就成功了。

Project -> Clean... -> Clean All Projects

【讨论】:

我已将接受的答案切换为您的解决方案,因为它比按照我建议的方式手动执行要方便得多,尽管最终结果几乎相同。不能解决 100% 的时间,但至少为我工作了十几次。感谢发帖!【参考方案2】:

似乎有几个问题会导致该确切错误,但有两个需要检查:

在节点下的应用程序 xml 文件中包含扩展包,但忘记将其包含在您的实际项目中。例如一个 .ane/.swc 组合。

设备上已有相同应用的版本,但使用不同的证书构建。例如。客户的分发证书与您的测试证书。

如果应用程序仍在前台运行,我的应用程序偶尔会安装失败。

【讨论】:

感谢这些建议。这些都没有映射到我的特殊情况,但我感觉我们正在处理一个 very 通用错误,并且很多用户出于各种不同的原因得到它。很遗憾 Adob​​e 没有提供更多见解来帮助我们的开发人员。【参考方案3】:

在没有移动 USB 电缆的情况下突然在 ios 设备上连续安装多次时会出现此错误。

对我来说,解决方法是在再次自动安装之前按设备上的主页按钮关闭应用程序。如果我依靠编译器自动关闭应用程序,有时它会在此错误处停止。

【讨论】:

【参考方案4】:

我在 Windows 7 上的 AIR 3.8 中间歇性地发现了这个错误。我不知道是什么触发了它(不是代码更改),但重新启动计算机似乎可以修复它一段时间,直到它再次随机开始发生。我为它打开了一个错误,Adobe 建议我们投票修复它:

https://bugbase.adobe.com/index.cfm?event=bug&id=3650414

【讨论】:

感谢您的反馈和错误报告!【参考方案5】:

以防万一……

在我的项目中,开发人员证书无法处理推送通知与在权利标签中使用它的 application.xml 之间存在冲突

<Entitlements>
    <![CDATA[
        <key>aps-environment</key>
        <string>development</string>
    ]]>
</Entitlements>

评论此块或下载启用推送通知的证书。

【讨论】:

【参考方案6】:

对我来说,这发生在我开始使用尚未在配置文件中注册的设备进行测试时。

【讨论】:

太棒了。感谢您保持线程活着。据我所知,通常这应该导致 ApplicationVerificationError,而不是 PackageInspectionError,但我可能是错的......【参考方案7】:

我仍然不完全确定造成这种情况的原因,但它似乎最常发生在更新打包资产或被另一个同名资产替换时。

FB 处理打包资产的方式的奇怪之处在于它们会自动(在后台)复制到bin-debug 文件夹中。这种复制(最迟)在您构建/调试时发生,但几乎只要您将资产拖入标识为资产文件夹的文件夹(即:它已经包含一些打包资产),就会很高兴。

我的解决方案是打开 bin-debug,并完全清空所有打包的资产。然后,打开项目上的属性,然后转到您的打包设置,重置为默认值,然后进入并选中/取消选中您要打包的资产。应用更改,然后等待文件被复制过来。然后再次尝试构建/调试,一切正常。

这样做的一个好处是,您的 bin-debug 文件夹会从旧的、现在不再使用的资产中积累的任何垃圾中清除。它们只会弄乱你的包设置,在最坏的情况下,可能会进入最终的打包产品,不必要地膨胀它。

【讨论】:

@Ted 的方法是我最近发现的一种方法,它与我的方法几乎相同,只是它更方便。我已经将接受的答案转换为他的解决方案,尽管他和我的方法都不能解决 100% 的问题。 Adobe 确实需要使他们的错误消息更加具体和有用。【参考方案8】:

我将继续记录导致此错误的原因,直到 Adob​​e 发布有关它的某种官方信息(或者他们使错误消息更具体/更具描述性)。

潜在原因:使用 LZMA 压缩压缩 SWF

解决方案:将 Flash 发布设置对话框中的压缩设置切换为“放气”。文件大小会显着增加,但会通过包检查。

【讨论】:

【参考方案9】:

我也有过类似的经历。 一个新的 Actionscript 移动项目”。在主类中绘制一个正方形以显示功能代码的可见指示,并在主类构造函数中进行跟踪操作以测试调试是否有效。

我无法通过 USB 将应用程序传输到设备,直到我删除了当前安装的 iTunes 并安装了“用于旧显卡”的 iTunes 版本 http://support.apple.com/kb/DL1784 (我在一个相当新的 macbook pro 上运行 Windows 7,但这是什么鬼)。

现在可以在设备上使用“运行”来测试应用程序,但调试仍然会失败(使用 )。

奇怪的是......然后我在应用程序描述符 xml 文件中添加了一些图标引用(这些默认情况下被注释掉了)。

由于未知原因添加这些图标进行打包,通过USB传输到设备和调试工作。

【讨论】:

@tod 是的,但是有很多可能的原因,我们需要将它们全部记录下来。这是一个很好的地方。

以上是关于Flash Builder、Adobe AIR 和 iOS 开发的包检查失败错误的主要内容,如果未能解决你的问题,请参考以下文章

将Adobe Flash Builder游戏转换为Air吗?

将 Adob​​e Air 3.3 SDK 与 Flash Builder 一起使用

Flash 10 + AS 2.0中Adobe AIR和Zinc的良好替代品

Adobe Air - Flash - 初始窗口位置

Adobe Air 与 Flash Player 10.1 运行时

flash as3 和 adobe air -- 保存绘图文件,之后可以撤消/重做