如何相互访问我自己的 2 iOS 应用程序数据库

How can I access my own 2 iOS app database from each other

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

例如。 APP1和APP2都是我开发的,APP1可以访问APP2的数据库,反之亦然

我在某处读到,同样的 iOS 应用程序开发人员可以拥有沙盒访问权限来访问他们自己开发的 iOS 应用程序。

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

因为数据库对应用程序是私有的。

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

但也许另一个建议可以帮助您:我们使用 CoreData 和来自 Drew McCormack 的 Ensembles Framework 开发了一个 iOS 应用程序来使用 iCloud Sync。 (https://github.com/drewmccormack/ensembles)

通过此功能 (iCloud Sync),它能够在两个 CoreData 数据库之间同步数据,并且您的两个应用程序可以使用相同的数据。

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

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

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

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