如何从彼此访问我自己的2个iOS应用数据库

时间:2015-06-01 10:14:01

标签: ios iphone database sqlite sandbox

我正在开发两个iOS应用程序,我想彼此访问他们的数据库。

EG。 APP1和APP2都由我开发,APP1可以访问APP2数据库,反之亦然

我在某处看到,相同的iOS应用开发者可以拥有沙箱访问权限来访问他们自己开发的iOS应用。

3 个答案:

答案 0 :(得分:2)

是的,你可以这样做。您创建了一个应用组,将两个应用放在同一个应用组中。在共享文件区域中创建的任何文件都可供两个应用程序使用。它与扩展程序与其主机应用程序共享文件的方式完全相同。

我目前正在使用它来共享两个不同应用之间的SQL数据库。

可以通过文件管理器访问共享文件:

NSFileManager* fileMgr = [NSFileManager defaultManager];
NSURL* sharedDirectory = [fileMgr containerURLForSecurityApplicationGroupIdentifier:appGroupId];

答案 1 :(得分:-1)

确实,您无法从另一个应用中访问文件。
AFAIK您只能使用共享钥匙串在两个应用程序之间共享数据。 看看这里: How to share keychain data between iOS applications

但也许另一个提案会帮助你:我们使用CoreData和Drew McCormack的Ensembles Framework开发了一个iOS应用程序来使用iCloud Sync。 (https://github.com/drewmccormack/ensembles

借助此功能(iCloud Sync),它可以同步两个CoreData数据库之间的数据,并且您的两个应用都可以使用相同的数据。

答案 2 :(得分:-2)

不,你无法从另一个应用程序访问一个应用程序中的数据库。(沙盒)

因为数据库是应用专用的。