FileSystem.documentDirectory上的数据未在ios中的应用商店更新上持久化
我在做一个项目,需要将一些文件下载到存储中,然后离线工作。我正在使用Expo的FileSystem.documentDirectory上的数据未在ios中的应用商店更新上持久化,ios,react-native,app-store-connect,expo,testflight,Ios,React Native,App Store Connect,Expo,Testflight,我在做一个项目,需要将一些文件下载到存储中,然后离线工作。我正在使用Expo的文件系统api下载文件,然后将文件保存在Expo文件系统.documentDirectory let directory = FileSystem.documentDirectory + 'media/'; await FileSystem.downloadAsync(imageurl, directory + 'filename.jpg'
文件系统
api下载文件,然后将文件保存在Expo文件系统.documentDirectory
let directory = FileSystem.documentDirectory + 'media/';
await FileSystem.downloadAsync(imageurl,
directory + 'filename.jpg'
)
.then(({ uri }) => {
console.log(uri,'uri of image')
});
问题是,当我在itunesconnect中更新应用程序时,数据没有持久化。我猜您正在尝试在更新后以绝对路径恢复该文件。请改用相对路径 iOS将在每次更改构建时更新目录的UUID(例如TestFlight上的不同构建或AppStore上的不同版本)。
参考: 您需要做的是将文件名存储到一些持久性存储中,并将其与
FileSystem.documentDirectory
结合起来,以便稍后恢复该文件,因为您的文件已保存,相对路径工作正常,但绝对路径已更改
下面是一个将图像复制到文档目录并稍后恢复该文件的示例
const to=FileSystem.documentDirectory+filename
等待FileSystem.CopySync({
from:uri,//uri到图像文件
到
})
分派({type:'STORE_FILENAME',FILENAME})//任何持续存在的内容。我使用redux
//…将应用程序更新到其他版本后
const filename=props.filename//无论如何从以前的生成中恢复
常量uri=FileSystem.documentDirectory+文件名
//也许你想渲染那个图像
返回
文件名可能已更改。使用FileSystem.readdirectoryanc(fileUri)
搜索该目录。我还使用FileSystem.writeastringasync保存了一些文本文件。。它在更新后保持不变..正是我想要的。这个答案也应该出现在这个问题中:。太糟糕了,问题被锁定了:(