独立的iOS应用中的DocumentsDirectory不同

时间:2019-10-10 23:52:28

标签: react-native expo

我最近将Expo应用程序从SDK 32迁移到了35,并且在文档目录之间存在差异。

以前,当在Expo Client App或独立运行(在SDK 32上)运行该应用程序时,FileSystem.documentDirectory将导致:file:///var/mobile/Containers/Data/Application/<BUILD_NO>/Documents/ExponentExperienceData/<APP_NAME>/

在新版本的应用程序中(在SDK 35上),在Expo Client App中运行时,它仍将提供相同的documentDirectory,但将作为独立应用程序构建,它将使用:file:///var/mobile/Containers/Data/Application/<BUILD_NO>/Documents/

这会导致巨大的问题,因为我们的生产应用程序将文档存储在先前的目录中。

更重要的是,Expo现在已经生成了另一个RCTAsyncLocalStorage目录,这意味着存储在AsyncStorage中的所有值都不再可见。我可以在以前的目录下看到旧值,因此它们不会丢失,只是对应用程序不再可见。

是否有任何理由要更改此值,某处是否有更改日志?

1 个答案:

答案 0 :(得分:0)

我浏览了Expo git的历史并找到了答案。

似乎在SDK 33中更改了目录,并为SDK 33和34添加了迁移,但在35中删除了迁移,这意味着不支持从32迁移到35,并且需要手动重命名目录。