2016-09-10 23 views
8

मैं किसी iOS ऐप्लिकेशन में MacOS सिएरा पर तेजी के साथ Xcode 8 के साथ काम कर रहा हूँ। मुझे कुछ महीने पहले एहसास हुआ कि SQLDebug काम करना बंद कर देता है ... (यह मेरे ऐप में काम करता था) ...com.apple.CoreData.SQLDebug काम नहीं कर रहा

मैंने कोर्डटा ध्वज सक्षम के साथ एक नया खाली प्रोजेक्ट बनाया है..तो मैंने एक इकाई बनाई गुण और मैं viewDidLoad और Xcode में इस समारोह निष्पादित एसक्यूएल प्रवेश करने नहीं है

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{ 

    } 
} 

उत्तर

14

कोर डाटा नए एकीकृत प्रवेश ढांचे आईओएस से 10 के साथ शुरू Xcode में एक ज्ञात मुद्दा है कि प्रवेश के साथ हस्तक्षेप नहीं है का उपयोग करता है, लेकिन आप इसके आसपास पाने के लिए -com.apple.CoreData.Logging.stderr 1 का उपयोग कर सकते हैं।

संपादित करें: स्पष्टता के लिए, यदि आप ऊपर के अलावा -com.apple.CoreData.SQLDebug 1 निर्दिष्ट करना होगा। यह वास्तव में एसक्यूएल ट्रेस को सक्षम बनाता है, जबकि उपरोक्त आपको इसे देखने देगा।

https://developer.apple.com/library/content/releasenotes/General/WhatNewCoreData2016/ReleaseNotes.html

इस संक्रमण के हिस्से के रूप से, कोर डाटा os_log को, stderr लॉग इन करने के उपयोगकर्ता चूक का सम्मान करता है, या 'com.apple.CoreData.Logging.oslog' या 'com.apple के साथ दोनों। CoreData.Logging.stderr '। एक्सकोड में ज्ञात समस्या के कारण, डीबगिंग के दौरान स्टीडर लॉगिंग टॉगल करना उपयोगी हो सकता है।

आप नए कंसोल ऐप में भी देख सकते हैं, जो आपके मैक से जुड़े डिवाइसों से लॉग प्रदर्शित करेगा।

+0

यह इसके साथ काम नहीं कर रहा है :(... मैं इस तरह एक लॉग देख रहा हूं: '2016-09-25 23: 18: 44.801810 गिमएप [1 9 40: 69204] उपप्रणाली: com.apple.libsqlite3, श्रेणी: लॉगिंग, enable_level : 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data:। 0' – LPS

+1

मैं सिर्फ अपने ही परियोजना में फिर से इस बात की पुष्टि अभी भी ध्यान दें कि आप योजना में -com.apple.CoreData.SQLDebug 1 होना आवश्यक है, stderr के रूप में सिर्फ दरअसल लॉगिंग देखा जाना चाहिए सक्षम बनाता है और SQLDebug एसक्यूएल ट्रेस सक्षम बनाता है। – particleman

+0

, दोनों रन-टाइम विकल्प निर्दिष्ट काम करता है। बिल्कुल सही, धन्यवाद। –

संबंधित मुद्दे