2015-01-08 12 views
6

मैं इस समस्या के बारे में उत्तर का एक गुच्छा से गुजर चुका हूं लेकिन कोई भी मेरी समस्या से संबंधित प्रतीत नहीं होता है।NSInternalInconsistencyException, कारण: बंडल में एनआईबी लोड नहीं किया जा सका

मेरे पास दो विचार हैं, देखें 1 में एक बटन है। देखें 2 में एक बटन है।

देखें 1 बटन मैं दृश्य 1 में बटन पर क्लिक करें एक मॉडल segue से जुड़ा हुआ है 2.

देखने के लिए, यह 2.

देखें 2 में बटन एक IBAction से जुड़ा है दृश्य को खोलता है जो आग

[self dismissViewControllerAnimated:YES completion:nil]; 

कौन सा दृश्य बंद कर देता है और प्रदर्शित करता है फिर से 1 देखें - अब अगर मैं फिर से देखें 1 पर बटन दबाने मैं

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle <x/y/z/SomeApp.app> (loaded)' with name 'tvz-Io-ndz-view-rB8-bq-l6j' and directory 'Main.storyboardc'' 
01 मिलता है

मैं इस समस्या को ठीक करने के लिए पूरी तरह खो गया हूं। कृपया सहायता कीजिए!

संपादित करें:

  • यह केवल तब होता डिवाइस अगर मैं वेब दृश्य जो एक छवि renders के साथ श्रृंखला में एक तिहाई स्क्रीन है इंटरनेट
  • नहीं है जब, अगर मैं गोटो कि दृश्य से स्क्रीन 2 ऐप क्रैश नहीं होता है।

संपादित करें 2:

मैं भी खरोंच से स्क्रीन के पुनर्निर्माण की कोशिश की है।

मैं पूरी तरह से परेशान हूं।

संपादित करें 3: पूर्ण स्टैकट्रेस

2015-01-19 09:10:58.528 SomeApp[37747:2203364] *** Terminating app due to 
uncaught exception 'NSInternalInconsistencyException', reason: 'Could not 
load NIB in bundle: 'NSBundle  
</Users/user/Library/Developer/CoreSimulator/Devices/D23C1B7C-7330- 
466E-8369-762C6727B19C/data/Containers/Bundle/Application/AE67C3D3-C5AE- 
4A66-91EC-54D976A4A4FC/SomeApp.app> (loaded)' with name 'tvz-Io-ndz-view- 
rB8-bq-l6j' and directory 'Main.storyboardc'' 

*** First throw call stack: 
(
    0 CoreFoundation      0x01f64946 __exceptionPreprocess + 182 
    1 libobjc.A.dylib      0x01beda97 objc_exception_throw + 44 
    2 CoreFoundation      0x01f6486d +[NSException raise:format:] + 141 
    3 UIKit        0x008f8e06 -[UINib instantiateWithOwner:options:] + 1003 
    4 UIKit        0x0071b624 -[UIViewController _loadViewFromNibNamed:bundle:] + 270 
    5 UIKit        0x0071bdbb -[UIViewController loadView] + 295 
    6 UIKit        0x0071bfef -[UIViewController loadViewIfRequired] + 78 
    7 UIKit        0x0071c595 -[UIViewController view] + 35 
    8 UIKit        0x00d8f707 -[_UIFullscreenPresentationController _setPresentedViewController:] + 75 
    9 UIKit        0x006f1a81 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 113 
    10 UIKit        0x00729a61 -[UIViewController _presentViewController:withAnimationController:completion:] + 2102 
    11 UIKit        0x0072c5d2 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 345 
    12 UIKit        0x0072c424 -[UIViewController presentViewController:animated:completion:] + 224 
    13 UIKit        0x0072c8ea -[UIViewController presentModalViewController:animated:] + 57 
    14 UIKit        0x00bf448d -[UIStoryboardModalSegue perform] + 271 
    15 UIKit        0x00be1b49 -[UIStoryboardSegueTemplate _perform:] + 217 
    16 UIKit        0x00be1bc5 -[UIStoryboardSegueTemplate perform:] + 116 
    17 UIKit        0x006d4907 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1490 
    18 UIKit        0x006d4af7 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 285 
    19 UIKit        0x006d9df3 __38-[UITableView touchesEnded:withEvent:]_block_invoke + 43 
    20 UIKit        0x005ee0ce ___afterCACommitHandler_block_invoke + 15 
    21 UIKit        0x005ee079 _applyBlockToCFArrayCopiedToStack + 415 
    22 UIKit        0x005ede8e _afterCACommitHandler + 545 
    23 CoreFoundation      0x01e879de __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30 
    24 CoreFoundation      0x01e87920 __CFRunLoopDoObservers + 400 
    25 CoreFoundation      0x01e7d35a __CFRunLoopRun + 1226 
    26 CoreFoundation      0x01e7cbcb CFRunLoopRunSpecific + 443 
    27 CoreFoundation      0x01e7c9fb CFRunLoopRunInMode + 123 
    28 GraphicsServices     0x043d524f GSEventRunModal + 192 
    29 GraphicsServices     0x043d508c GSEventRun + 104 
    30 UIKit        0x005c48b6 UIApplicationMain + 1526 
    31 SomeApp        0x000e482d main + 141 
    32 libdyld.dylib      0x027e8ac9 start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

जेम्स

+0

क्या आप ऐसा कोड दिखा सकते हैं जो व्यू 2 प्रस्तुत करता है, बस यह सुनिश्चित करने के लिए कि वहां कुछ भी अजीब नहीं चल रहा है? – Stonz2

+0

@ Stonz2 कोई हाथ लिखित कोड दाएं बटन को दूसरे दृश्य में खींचें क्लिक करें और कोई अतिरिक्त सेगू हैंडलिंग कोड नहीं है। – James

+0

व्यू 2 के लिए आपके 'टियरडाउन' कोड में कुछ याद आ रही है, कुछ प्रक्रिया जिसे आपने निकाल दिया है लेकिन बाद में ठीक से सफाई नहीं कर रहे हैं। शायद view2 कुछ के लिए प्रतिनिधि है और एक बनाए रखने चक्र है? मेरे अनुभव में यह तभी होगा जब पहला व्यू 2 ठीक से जारी नहीं किया गया है .. – Jef

उत्तर

0

आप कोशिश करते हैं और अपवाद के लिए नीचे दिए गए परिदृश्यों की जाँच कर सकते हैं:

1) में निब फ़ाइल तो याद आ रही है, तो एक ही जोड़ने अपने एक्सकोड

2) अस्वीकार करने से पहले आईबीएक्शन विधि के अंदर एक चेक डालें, this

देखें
19

ऐसे कई कारण हो सकते हैं जो आपको प्राप्त होने वाली त्रुटि को बढ़ा सकते हैं।

  1. आप Xcode के बाहर अपने xib या स्टोरीबोर्ड फ़ाइल का नाम बदला है:

    मैं जांच करने के लिए कुछ चीजें हैं और समाधान की गणना शुरू करेंगे? यदि ऐसा है, तो हर जगह जांच करें कि आपके पास असंगतताओं के लिए इसका संदर्भ है। यह भी सुनिश्चित करें कि आप केस संवेदनशील होने के बाद फ़ाइल को संदर्भित करते हुए अपरकेस/लोअरकेस अक्षरों का सम्मान करते हैं।

  2. जाओ इंटरफेस करने बिल्डर,> अपने View1 ViewController> Utilities कक्ष>Identity Inspector चयन जाँच Custom Class अपने ViewController कक्षा से मेल खाती है, तो अगर आप एक (ज और .m फ़ाइलें) की है।

  3. अपनी Info.plist फ़ाइल देखें।यदि आप स्टोरीबोड्स का उपयोग करते हैं, तो आपके पास Main storyboard file base name और Main nib file base name जैसी प्रविष्टि होनी चाहिए। यदि आप निब्स का उपयोग करते हैं, तो इसके विपरीत है। यह भी जांचें कि फ़ाइल बेस नाम वास्तविक फ़ाइल के नाम से मेल खाता है।

  4. अपने लक्ष्य की Build Phases > Copy Bundle Resources देखें और सुनिश्चित करें कि आपकी xib या storyboard फ़ाइल वहां जोड़ा गया है।

  5. यदि आप अपने व्यू 1 व्यू कंट्रोलर को प्रोग्रामेटिक रूप से चालू करते हैं और आप xib फ़ाइल का उपयोग करते हैं तो टाइपोज़ के लिए nib नाम देखें (याद रखें, केस-संवेदी है)। इसके अलावा, यदि आप वर्तमान में नाम पर .xib फ़ाइल प्रारूप जोड़ते हैं, तो एक्सटेंशन को हटाएं क्योंकि इसका उपयोग नहीं किया जाना चाहिए। UIViewController *controller = [[UIViewController alloc] initWithNibName:@"xibFileName" bundle:nil];

  6. चेक फ़ाइल निरीक्षक में अपने xib या स्टोरीबोर्ड फ़ाइल के गुणों और यह सुनिश्चित करें कि आपकी फ़ाइल Target Membership चयन पैनल में अपने लक्ष्य से लिंक है: क्या मेरा मतलब है कोड की इस पंक्ति है।

  7. चेक xib या फ़ाइल निरीक्षक में स्टोरीबोर्ड फ़ाइल के गुणों और Relative to project या Relative to group के लिए अपनी फ़ाइल Location जाने की कोशिश करें। देखें कि क्या कोई रास्ता एक फर्क पड़ता है।

  8. आप initWithCoder में प्रोग्राम के रूप में आपके विचार नियंत्रक जोड़ रहे हैं तो आप viewDidLoad विधि में यह दृष्टांत चाहिए बजाय

  9. ऊपर से कुछ भी नहीं अपनी स्थिति पर लागू होता है, तो आप Xcode से फ़ाइल को नष्ट कर सकता है (चयन Remove References) और इसे अपनी परियोजना में फिर से आयात करें।

उपर्युक्त परिवर्तन (SHIFT + COMMAND + K) बनाने के बाद हमेशा अपनी परियोजना को साफ़ करना याद रखें।

कृपया हमें बताएं कि यह काम करता है और क्या काम करता है।

+0

यह इसके कारणों की एक शानदार सूची है। सुनिश्चित नहीं है कि आपने इसे कैसे स्वीकार किया ... लेकिन बहुत धन्यवाद! # 6 ऊपर यह हमारे लिए क्या किया है। =) – Marchy

1

सेट करने के लिए xib एक्सेस करने से पहले वर्ग के लिए बंडल हो सकता है:

ObjectiveC:

//Bundle initialisation 
NSBundle* bundle = [NSBundle bundleForClass:[self class]]; 

//Initialising the nib 
UIView *nibView = [[bundle loadNibNamed:@"nibFileName" owner:self options:nil] objectAtIndex:0]; 

//Display the ad (this will vary based on your application setup) 
[[[UIApplication sharedApplication] keyWindow] addSubview:nibView]; 
2

मैं सभी जवाब ऊपर की कोशिश की लेकिन वे काम नहीं किया। मेरे लिए, समाधान लक्ष्य संसाधन में xib शामिल करना था।

कदम प्रदर्शन किया:

  • xib फ़ाइल पर क्लिक करें।
  • ओपन पहचान इंस्पेक्टर -> लक्ष्य सदस्यता और दूसरा विकल्प की जाँच (ProjectName_Resource)
0

यह भी संभव UITableViewDataSource या UITableViewDelegate वांछित UIViewController

0

में लागू नहीं कर रहे हैं आप cocoapods साथ काम कर रहे हैं यह, pod update चलाने में भी मदद कर सकता है। मेरे साथियों में से एक ने एक फली बदल दी जिसके परिणामस्वरूप उस त्रुटि हुई, इसलिए पॉड अपडेट ने इसे मेरे लिए तय कर दिया।

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