【问题标题】:AS3 save file in accessible location on iOSAS3 将文件保存在 iOS 上可访问的位置
【发布时间】:2018-08-27 16:12:48
【问题描述】:

我编写了一个应用程序,它创建一个文本文件,然后用于填充文档。在 Android 和 Windows 上一切正常 - 文本文件保存到可访问的位置,并且可以附加到电子邮件中。

在 iOS 上,情况有所不同。通过使用以下代码,我似乎能够将文件保存(我认为)到应用程序存储目录中。

file1 = File.applicationStorageDirectory.resolvePath("data.txt");
var stream1:FileStream = new FileStream();
stream1.open(file1, FileMode.WRITE);
stream1.writeUTFBytes(string1+"\r\n"+string2);
stream1.close();

我说我认为它可以保存,因为我的弹出窗口似乎告诉我文件已保存,所以它至少可以通过代码工作。对于其他目录引用,该按钮不执行任何操作。

但我找不到任何方法可以导航到该文件夹​​,以便将其附加到电子邮件中。我尝试过不同的电子邮件客户端、不同的文件管理器,但似乎没有任何效果。我想过保存到 iCloud 或 google Drive,但在 iOS11 中似乎没有这样做的工具。

我确信我不会是唯一一个尝试通过 iOS 共享应用生成的文本数据文件的人,但我找不到任何方法。

非常感谢任何帮助。

【问题讨论】:

  • 我没有使用 iOS 的经验,但这听起来很像访问权限问题。在 iOS 中,应用程序存储位置是安全的,并且在没有提升权限的情况下无法从其他应用程序访问,这并非不可能。您可能应该使用您的应用程序扫描设备文件夹树并保存到一些常见的共享位置,例如“下载”等。
  • 谢谢。我查看了权限,但与 Android 不同的是,它没有写入本地存储权限。
  • 你能不能用你的阅读代码更新你的问题,因为这就是问题所在。
  • 谢谢。后来我发现在 iOS 中,应用程序之间的文件共享是不可能的。似乎它被操作系统阻止了。
  • 按回车太快了。没有读取代码。想法是将文件保存到可访问的位置,然后附加到电子邮件中。我找到了来自 Distriqt 的 ANE 消息,它似乎可以完成这项工作。

标签: ios file actionscript-3 text save


【解决方案1】:

经过大量搜索,我发现 Distriqt Message ANE 完全符合我的需要。

【讨论】:

    【解决方案2】:

    iOS 沙盒应用程序,因此您无法直接访问其他应用程序的文件。

    不过,iOS(和 Android)提供了共享数据的机制。在 iOS 上,您可以使用 Mail Composer、Activity 和 Document Interaction 视图控制器,在 Android 上通过特定的 Intents。

    这些机制允许您(通常)通过用户交互将数据“发送”到其他应用程序。您的角色将是创建要共享的数据(图像/文本/链接等)并将其传递给操作系统以询问用户如何处理共享。通过这种机制,另一个应用程序可以传送您的数据。

    这消除了公开访问数据的需要,因为一旦机制完成,访问数据的权限就会被删除。

    我们 (distriqt) 开发的 Message ANEShare ANE 允许 AIR 开发人员访问这些机制。

    【讨论】:

      猜你喜欢
      • 2012-03-17
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      相关资源
      最近更新 更多