Air to IPad Release Build在资产负载方面失败

时间:2014-07-05 02:25:35

标签: ios air flash-builder

在运行Air IOS Ipad应用程序(基于starling)的版本构建中遇到一些问题。

我正在进行发布版本,并将ipa文件保存在我的驱动器上。我双击ipa进入iTunes,然后在那里我安装了一个app安装到iPad上。

在ipad上,该应用无法加载任何外部文件。 我提出了一个预加载器,并尝试通过Loadermax加载资产,但是,它似乎失败了。

以下是应用程序失败的代码部分:(注意:这一切都在调试模式下工作,无论是在Air模拟器中,还是在设备上通过usb调试模式)

import com.greensock.events.LoaderEvent;
import com.greensock.loading.ImageLoader;
import flash.filesystem.File;
 ...
 ...
var _imageLoader:ImageLoader;
 ...
 ...
private function loadAssets():void{
  var _appFile:File = File.applicationDirectory;
  _appFile = _appFile.resolvePath("assets/statics/blueImage.png");
  _imageLoader = new ImageLoader(_appFile.nativePath, {onComplete:onImageLoaded, onFail:onImageLoadFail});
}
private function onImageLoaded(e:LoaderEvent):void{
  traceOut("OH MY GOD BATMAN, IT WORKED!!!");   // traceOut is a helper method that prints to a textfield on the display
}
private function onImageLoadFail(e:LoaderEvent):void{
  traceOut("back to the Bat Cave...");
}
...
...

在调试模式下,上面的代码显示:

OH MY GOD BATMAN, IT WORKED!!!

在发布版本中:

back to the Bat Cave...

任何人都知道我要去哪里?我没有使用任何ANE等 基于SDK:“http://ns.adobe.com/air/application/14.0

2 个答案:

答案 0 :(得分:1)

PC不区分大小写,但Ios是。在模拟器或调试模式下,文件名" myFile"即使它真的" myfile" (注意上限差异)在发布模式下它将失败。

如果这不起作用,请尝试使用File的url属性而不是nativePath。您还可以在加载文件之前轻松检查文件是否存在:

if(_appFile.exist)

此外,当依赖于自定义框架时,您可以根据自己的缺点强迫自己。使用经典的Loader实例重复相同的操作,看看是否成功。您会对自定义框架在简单操作上失败的次数感到惊讶,因为它的内部设置方式。

答案 1 :(得分:1)

首先,感谢那些帮助解决问题和解决问题的人,特别是BotMaster。

这个问题与Flashbuilder有关,还有一个与它的Build Release向导相关的错误。

看完之后: https://forums.adobe.com/message/5750011

我做的是:

  1. 点击"导出发布版本" Flashbuilder中的按钮,
  2. 重要提示:选中"保留bin-release-temp文件夹"
  3. 的复选框
  4. 点击下一步
  5. 点击取消
  6. 通过Windows资源管理器,导航到bin-debug文件夹,并复制"资产"和"配置"文件夹到" bin-debug-temp"由flash-builder
  7. 生成的文件夹
  8. 我返回Flash构建器,然后单击" Export Release Build"再次按钮。
  9. 选中"保留bin-release-temp文件夹"
  10. 的复选框
  11. 点击下一步
  12. 选中" assets"旁边的框。和"配置",单击完成。
  13. 新生成的ipa文件包含我需要的文件夹。

    再次感谢那些为解决这个错误做出贡献的人。