我正在编写这个小工具来查询和更新sqlite数据库。
我们需要查询的数据库文件不在沙箱中,而是外部文件。
当我对应用程序进行沙盒处理时,它可以访问.db文件而不是wal或shm文件阻止我更新数据库。
现在关于沙盒的文档之后,它提到了一些关于相关文件的内容。
但它也说
注意:对于SQLite日志文件,从10.8.2开始,如果打开SQLite数据库,日志文件,预写日志文件和共享内存文件会自动添加到相关项列表中,所以这步骤是不必要的。
我还将此添加到我的plist文件
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>db</string>
<string>sqlite</string>
</array>
<key>CFBundleTypeName</key>
<string>SQLite Database</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeName</key>
<string>Other Document Type</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>db-shm</string>
<string>db-wal</string>
</array>
<key>CFBundleTypeName</key>
<string>Support Type</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>NSIsRelatedItemType</key>
<true/>
</dict>
</array>
任何人都知道如何解决这个问题