2012-10-16 15 views
12

मैं सिर्फ MagicalRecord उपयोग शुरू कर दिया, और यह एक बेवकूफ सवाल हो सकता है, लेकिन यह वास्तव में मुझे परेशान कर रहा है ... मैं SQLite साथ MagicalRecord उपयोग कर रहा हूँ, और जब मैं MagicalRecord आरंभ किया है, मैंअक्षम MagicalRecord त्रुटि संदेश और चेतावनी

इस्तेमाल किया > निर्मित: संदर्भ * मुख्य थ्रेड * -:

2012-10-16 16: 54: 48.966 OrderSystem [4135-: C07] NSManagedObjectContext (MagicalRecord) MR_contextWithStoreCoordinator

[MagicalRecord setupCoreDataStackWithStoreNamed:@"OrderSystem.sqlite"]; 

और यह निम्नलिखित संदेशों का उत्पादन

जब मैं एक पृष्ठभूमि धागा का उपयोग कर निम्न कोड के साथ मेरी इकाई की दुकान करने की कोशिश की:

[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){   
    Menu *localMenu = [menu inContext:localContext];   
    localMenu.name = menu.name; 
    localMenu.menuid = menu.menuid ;   
}]; 

और मैं निम्नलिखित त्रुटि संदेश मिल गया:

2012-10-16 17: 05: 20.118 ऑर्डर सिस्टम [4523: 4603] + जादुई रिकार्ड (एररहैंडलिंग) डिफॉल्ट एरर हैंडलर: त्रुटि संदेश: ऑपरेशन पूरा नहीं हो सका। (कोको त्रुटि 133000.)

2012-10-16 17: 05: 20.118 OrderSystem [4523: 4603] MagicalRecord (ErrorHandling) defaultErrorHandler: त्रुटि डोमेन: NSCocoaErrorDomain

2012-10-16 17:05: 20.119 OrderSystem [4523: 4603] MagicalRecord (ErrorHandling) defaultErrorHandler: रिकवरी सुझाव: (शून्य)

2012-10-16 17: 05: 20.119 OrderSystem [4523: 4603] -NSManagedObjectContext (MagicalSaves) MR_saveWithErrorCallback: कोई परिवर्तन नहीं में CONTEXT: संदर्भ -

2012-10-16 17: 05: 20.120 ऑर्डर सिस्टम [4523: c07] -NSManagedObjectContext (जादुई बचाता है) MR_saveWithErrorCallback: -> सहेजा जा रहा है: * डिफ़ॉल्ट प्रसंग मुख्य थ्रेड *

2012-10-16 17: 05: 20.121 OrderSystem [4523: C07] -NSManagedObjectContext (MagicalRecord) contextWillSave: संदर्भ: * DEFAULT संदर्भ मुख्य थ्रेड * सहेजने वाला है। नई 1 डाला वस्तुओं

के लिए स्थायी आईडी प्राप्त करने

2012-10-16 17: 05: 20.142 OrderSystem [4523: 1303] -NSManagedObjectContext (MagicalSaves) MR_saveWithErrorCallback: -> सहेजा जा रहा है: * पृष्ठभूमि बचाओ * प्रसंग

2012-10-16 17: 05: 20.142 ऑर्डर सिस्टम [4523: 1303] -एनएसएमएनेज्ड ऑब्जेक्ट कॉन्टेक्स्ट (मैजिकल रेकॉर्ड) संदर्भविल्लसेव: संदर्भ: * पृष्ठभूमि बचाएं * संदर्भ सहेजने वाला है। नई 1 डालने वाली वस्तुओं के लिए स्थायी आईडी प्राप्त करना

जब मैं findAll का उपयोग करके अपनी संग्रहीत डेटा इकाई की जांच करता हूं, तो यह डेटाबेस में संग्रहीत प्रतीत होता है। और अगर मैं पूरी तरह से एप्लिकेशन को बंद करता हूं, और एप्लिकेशन को फिर से लॉन्च करता हूं, तो इकाई अभी भी वहां है (जो सुझाव देती है कि इकाई लगातार संग्रहित की गई थी, न केवल स्मृति में)। तो ऐसा लगता है कि सबकुछ काम कर रहा है, लेकिन कोई विचार है कि वे त्रुटि संदेश क्या हैं? और क्या उन्हें बंद करने का कोई तरीका है? या उन्हें हल करें? क्योंकि यह मेरे अन्य एनएसएलओजी को अवरुद्ध कर रहा है ...

धन्यवाद

+2

आप Cocoapods उपयोग कर रहे हैं, यह आप क्या जरूरत है: http://stackoverflow.com/questions/15284067/cocoapods-turning-magicalrecord-logging -ऑफ/15284069 –

उत्तर

31

इसे मिला। पहले #import "CoreData+MagicalRecord.h"

+1

हमने आगामी MagicalRecord 2.3 रिलीज़ में लॉगिंग काम करने के तरीके को बदल दिया है - आप इन लॉगिंग संदेशों को रिलीज़ होने के बाद '[MagicalRecord setLogLevel: MagicalRecordLogLevelOff];' (या कई अन्य स्तरों) को कॉल करने में सक्षम होंगे। प्री-2.3 रिलीज के लिए, @ hook38 ने सुझाव दिया है कि लॉगिंग अक्षम करने का सही तरीका है। –

+0

@ टोनी अर्नोल्ड। गिट का कहना है कि मेरा वर्तमान एमआर कोड "मूल/विकास" के साथ 5 मई 14 तक अद्यतित है। MR_ENABLE_ACTIVE_RECORD_LOGGING का कोई प्रभाव नहीं पड़ रहा है लेकिन '[MagicalRecord setLogLevel:]' नहीं मिला है। मुझे MagicalRecord + Options.m में 'setLoggingMask:' मिला। सामान्य एमआर सेव लॉगिंग आउटपुट को बंद करने या इसे आवश्यकतानुसार वापस चालू करने के लिए मैं क्या कर सकता हूं? – chadbag

+0

@chadbag क्षमा करें, मुझे विधि बदलनी पड़ी - यहां दस्तावेज़ हैं: https://github.com/magicalpanda/MagicalRecord/wiki/Logging –

2

ऐसा लगता है कि आप अभी भी ठीक करने के लिए त्रुटियाँ हैं। मैं सुझाव देता हूं कि विकास के दौरान उनको अनदेखा न करें ...

+0

एक बार जब मैंने रिकॉर्ड लॉगिंग बंद कर दी, तो कोई और त्रुटि संदेश नहीं थे। – hook38

+25

एक बार जब मैंने दंत चिकित्सक के पास जाना बंद कर दिया, तो वहां कोई और गुहा नहीं थी। – christophercotton

20

अपने Prefix.pch फ़ाइल में #define MR_ENABLE_ACTIVE_RECORD_LOGGING 0 जोड़ने मामले में आप फली = 0 इस तरह जादुई रिकॉर्ड परियोजना के लिए जोड़ पूर्वप्रक्रमक मैक्रो MR_ENABLE_ACTIVE_RECORD_LOGGING का उपयोग करें: enter image description here

+1

दुर्भाग्यवश, जब मैं 'पॉड अपडेट' चलाता हूं तो मैक्रो हटा दिया जाता है – boro

+1

ए 'post_install' हुक मदद करेगा: http://stackoverflow.com/a/15284069/242682 – samwize

+0

आपने अपना दिन बचाया! – kokemomuke

6

तेज

MagicalRecord.setLoggingLevel(MagicalRecordLoggingLevel.Off) 

objC

[MagicalRecord setLoggingLevel:MagicalRecordLogLevelOff]; 

अपने AppDelegate में रख जब आवेदन didFinishLaunchingWithOptions

+1

अब ऐसा लगता है कि यह है [जादुई रिकार्ड सेट लॉजिंगलेवल: जादुई रिकार्ड लॉजिंग लेवेलऑफ]; – PaulRBerg

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