1

我的应用程序当前使用 CoreData 作为后端来存储到存储在~/Library/Application Support/MYAPP/MyDataFile.sqlite. 我知道这是一种不寻常的情况,但是“锁定”这个文件的最佳方法是什么,这样如果用户决定(无论出于何种愚蠢的原因)运行我的应用程序的第二个副本,Core Data 就不会惊慌失措?我应该使用一些老派的东西,比如在某处写一个锁文件并检查它,还是有更好的 Cocoa 方法来做到这一点?

4

1 回答 1

1

作为锁定 SQLite 文件的替代方法,您可以尝试使用LSMultipleInstancesProhibited来禁止您的用户运行两个应用程序实例。

编辑:缺点是它还会阻止多个用户(快速用户切换)同时使用您的应用程序,尽管他们不共享核心数据存储。

于 2009-12-13T16:35:20.973 回答