【发布时间】:2021-09-10 13:09:12
【问题描述】:
我们正处于在新的 Swift 应用程序中完全重写旧版 Cordova 应用程序的尾声,我们面临的问题是在迁移时,Cordova 应用程序会在设备上存储一些信息,例如刷新令牌和当我们强制将用户升级到新应用时,我们希望他们保持登录状态。
Cordova 应用程序正在使用一个名为 LokiJS 的库来执行此操作,并将此信息存储在 /var/mobile/Containers/Data/Application/{UUID}/Library/NoCloud/ 目录中的 sql lite db 中。
新的 Swift 应用程序将使用相同的包标识符,因此我们应该能够访问这个目录,尽管到目前为止我还没有找到访问它的方法。
在SearchPathDirectory 中对于FileManager 没有/Library/NoCloud 目录,如果我们使用.libraryDirectory 并在其上附加“NoCloud”,我们会得到:"The folder “NoCloud” doesn’t exist." 或者甚至列出 .libraryDirectory 的 subpathsOfDirectory 我们获取:"The file “Library” couldn’t be opened because there is no such file." 应用的 UUID 在每次安装时也会发生变化,因此无法知道原始完整路径。
以前有没有人这样做过? Cordova 应用程序必须有一种方法可以读取/写入它,但我似乎找不到任何具体的解决方案,我们实现这一点非常重要,值得注意的是我们的 Android 应用程序可以访问这个 Loki db。
【问题讨论】:
标签: ios swift cordova nsfilemanager lokijs