我新的iOS开发,所以请原谅,如果我问一个愚蠢的问题后,抓取以前保存的数据库文件。重新安装应用程序
我需要检查,如果我从以前的安装相同的应用程序的sql
文件中的设备目录中已经存在。如果是,那么我需要取出该文件而不是制作新文件。但重新安装应用程序后,应用程序的包文件夹会发生变化。所以我猜不到以前安装的应用程序包文件夹的名称。我试图在设备的其他地方保存它,但它不允许我。请给我解决方案。
我新的iOS开发,所以请原谅,如果我问一个愚蠢的问题后,抓取以前保存的数据库文件。重新安装应用程序
我需要检查,如果我从以前的安装相同的应用程序的sql
文件中的设备目录中已经存在。如果是,那么我需要取出该文件而不是制作新文件。但重新安装应用程序后,应用程序的包文件夹会发生变化。所以我猜不到以前安装的应用程序包文件夹的名称。我试图在设备的其他地方保存它,但它不允许我。请给我解决方案。
你所要求的是不可能的。如果一个应用程序被删除,它的所有文件也会被删除。在iOS中,没有应用程序中立位置来存储文件。当仅更新应用程序时,从应用程序的角度来看,更新“就地”发生,并且所有以前的文件都可用。
如果你想要的文件生存删除,重新安装周期,你将不得不使用云服务,如iCloud中,Dropbox的或谷歌驱动器。
一旦删除了应用程序。应用程序包和文档目录以及所有文件(包括SQLite文件)都被删除。你必须从API获取所有数据。
在iOS中,每个应用程序都是一个沙盒。这个沙盒由应用程序包和可变部分组成,您可以在其中存储数据库和其他文件,这些文件在应用程序的使用期限内发生了变化。
当你删除的应用程序,整个沙箱被删除。没有得到删除的唯一东西是你存储在钥匙串中的数据。
当你更新应用程序,唯一的应用程序包更新,并且可变的部分保持不感动。因此,在重新安装应用程序时(在技术上更新设备上的现有应用程序)时,您可以从同一位置找到相同的文件。
你可以做一件事,你可以采取远程服务器上的文件的日常备份,当您重新安装应用程序检查文件服务器上存在,如果存在,不是下载其他新建。
如何获得该位置? –
我知道我的sql文件仍然存在。我可以手动转到该应用程序之前安装时保存的文件夹并检查。我检查过,即使重新安装后,文件也存在。但是,如何在安装后获取之前保存的文件的位置? –
获取Document目录的路径并在文件所在的位置追加路径组件。 – Apurv