Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios com.apple.CoreData.SQLDebug不工作_Ios_Xcode_Core Data - Fatal编程技术网

Ios com.apple.CoreData.SQLDebug不工作

Ios com.apple.CoreData.SQLDebug不工作,ios,xcode,core-data,Ios,Xcode,Core Data,我正在iOS应用程序中使用MacOS Sierra上的Xcode 8和swift。几个月前我意识到SQLDebug停止工作了。。。(它曾经在我的应用程序中工作过) 我创建了一个新的空项目,启用了coredata标志。然后我创建了一个具有属性的实体,并在ViewDidLoad中执行了这个func,Xcode没有记录sql func fetchAllData(){ //1 delegate let appDelegate = UIApplication.shared.delega

我正在iOS应用程序中使用MacOS Sierra上的Xcode 8和swift。几个月前我意识到SQLDebug停止工作了。。。(它曾经在我的应用程序中工作过)

我创建了一个新的空项目,启用了coredata标志。然后我创建了一个具有属性的实体,并在ViewDidLoad中执行了这个func,Xcode没有记录sql

func fetchAllData(){

    //1 delegate
    let appDelegate =  UIApplication.shared.delegate as! AppDelegate
    let managedContext = appDelegate.persistentContainer.viewContext

    //2 prepare fetch request
    let fetchRequest: NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName:"Entrenamientos")

    //3 make fetch
    do{
        let fetchedResults =  try managedContext.fetch(fetchRequest) as! [NSManagedObject]
    }
    catch{

    }
}
func fetchAllData(){
//1名代表
让appDelegate=UIApplication.shared.delegate为!appDelegate
让managedContext=appDelegate.persistentContainer.viewContext
//2准备取数请求
let fetchRequest:NSFetchRequest=NSFetchRequest(entityName:“Enternamientos”)
//3取回
做{
让fetchedResults=尝试managedContext.fetch(fetchRequest)作为![NSManagedObject]
}
抓住{
}
}

核心数据使用从iOS 10开始的新的统一日志框架。Xcode中存在干扰日志记录的已知问题,但您可以使用
-com.apple.CoreData.logging.stderr 1
来解决它

编辑:为清晰起见,除上述内容外,还必须指定
-com.apple.CoreData.SQLDebug 1
。这实际上启用了SQL跟踪,而上面的内容将让您看到它

作为此转换的一部分,Core Data允许用户默认使用“com.apple.CoreData.Logging.oslog”或“com.apple.CoreData.Logging.stderr”登录到os_log、stderr或两者。由于Xcode中的一个已知问题,在调试期间切换stderr登录可能很有用


您还可以查看新的控制台应用程序,它将显示连接到Mac的设备的日志。

它不适用于此:(…我看到这样的日志:
2016-09-25 23:18:44.8010 GimApp[1940:69204]子系统:com.apple.libsqlite3,类别:日志记录,启用\u级别:0,持久化\u级别:0,默认\u ttl:0,信息\u ttl:0,调试\u ttl:0,生成\u症状:0,启用\u超大:1,隐私\u设置:2,启用\u私有\u数据:0
我刚刚在我自己的项目中重新确认。请注意,在方案中您仍然必须有-com.apple.CoreData.SQLDebug 1,如stderr just允许查看日志记录,SQLDebug允许SQL跟踪。事实上,指定两个运行时选项都有效。非常好,谢谢。谢谢!!我删除了“SQLDebug”…这就是问题所在…这两个选项都有效:)我在“启动时传递的参数”中添加了-com.apple.CoreData.SyntaxColoredLogging YES。但这对我不起作用。你们能帮帮我吗?我已经添加了com.apple.CoreData.SQLDebug&-com.apple.CoreData.Logging.stderr 1。我可以看到核心数据日志,但我希望看到不同的颜色