【问题标题】:Adobe AIR iOS - File.applicationStorageDirectory resolves to a different path at each launchAdobe AIR iOS - File.applicationStorageDirectory 在每次启动时解析为不同的路径
【发布时间】:2015-09-18 19:59:58
【问题描述】:

我正在File.applicationStorageDirectory 中保存一个文件。它可以正确保存,但在第二次启动同一个应用程序时它不会加载,因为File.applicationStorageDirectory 指向不同的文件夹。

这里有一些例子:

/var/mobile/Containers/Data/Application/EBF46358-3A82-45C8-A971-7656674543AE/Library/Application Support/com.royalatlantisapp/Local Store/

/var/mobile/Containers/Data/Application/09B41C51-CB5C-4FC6-BF34-CE42E2100241/Library/Application Support/com.royalatlantisapp/Local Store/

/var/mobile/Containers/Data/Application/ABD1C5F4-231C-4C9C-AD42-E426EF1B281E/Library/Application Support/com.royalatlantisapp/Local Store/

如您所见,每次启动应用时,都会针对不同的文件夹。

我是不是搞错了?

【问题讨论】:

  • 您是否在每次启动之间重新编译?
  • 不,我会写,然后重新启动同一个应用程序。每次重新编译时都会更改文件夹吗?
  • 仅当您更改了清单中的 id,但会更改的部分将是 com.royalatlantisapp - 您是在设备本身上运行它吗?
  • 是的,每次重新编译时文件夹都会改变。但实际上我使用的是 nativePath 而不是 url 来使用 URLLoader 加载文件,因此它不起作用。 (我使用了一个复杂的预加载系统,它使得使用 URLLoader 更加简化)。我写了一个答案以防其他人可能会犯同样的错误。
  • 您应该更新您的问题以表明您正在使用 URLLoader,因为大多数人在使用 AIR 时会使用 FileStream。否则你自己的答案有点断章取义。

标签: ios actionscript-3 air adobe storage


【解决方案1】:

我找到了解决方案。我正在使用 URLLoader 加载数据,但我没有从“url”属性中获取路径。因此,应用在重新启动时找不到文件夹。

var f:File = File.applicationStorageDirectory.resolvePath("myFile.xml");
var resultUrl:String = f.url; // This works to load with a URLLoader
var resultPath:String = f.nativePath; // This works to load with a FileStream operation

【讨论】:

    猜你喜欢
    • 2020-02-06
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2014-02-22
    • 2015-01-15
    • 2015-09-04
    • 2018-07-23
    • 1970-01-01
    相关资源
    最近更新 更多