xcode - com.apple.CoreData.SQLDebug 标志不显示 SQL

标签 xcode swift core-data xcode7 osx-elcapitan

我正在 OSX 11.11 上使用 Xcode 7 和 swift - 我看过一些教程,这些教程讲述了使用调试构建标志调试核心数据的 SQL 语句。我找到了this这没有给我任何额外的信息。

标志是 com.apple.CoreData.SQLDebug,这就是我尝试在“编辑方案”菜单的“启动时传递的参数”中输入它的方式:

-com.apple.CoreData.SQLDebug 1 我尝试了 1 和 3,我还遇到了一个旧博客,其中 - 已切换我也尝试过使用 ~ ,但调试控制台上仍然没有打印 SQL。

我已确认我的 CocoaAppCD.storedata 文件中包含项目 - 为何它不显示 sql 语句?

最佳答案

根据this answer ,仅当您使用 NSXMLStoreType 时才会生成 .storedata 文件。 NSXMLStoreType 似乎也是默认的。如果您使用的是 NSXMLStoreType,则 SQLDebug 标志无效,因为这只适用于 NSSQLiteStoreType。

您可以通过将这种类型的持久存储而不是 XML 存储添加到您的 NSPersistentStoreCoordinator 来使用 NSSQLiteStoreType(如果您的 CoreData 代码是由 Xcode 生成的,这将位于您的 AppDelegate 中):

do {
    try coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
} catch { ...}

关于xcode - com.apple.CoreData.SQLDebug 标志不显示 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33225229/

相关文章:

ios - 如何在 .travis.yml 中包含多个 OS X 图像

ios - Swift 无效的 Base64 - 字符串连接

swift - 低端设备支持 ARKit 吗?

cocoa - 修改 NSDatePicker 以自动生成谓词行模板

ios - 保存核心数据时出现问题

ios - 如何在 SwiftUI 中设置与 superview 成比例的高度和宽度?

ios - 多行 UILabel 未正确换行

xcode - 无法更新 Xcode(项目暂时不可用)?

ios - 在圆形路径上为 CAShapeLayer 设置动画

ios - 神奇的记录 NSFetchedResultsController NSManagedObject 更改保存不工作