Could not load NIB in bundle - inspiration needed

2019-04-02 17:45发布

问题:

I'm currently seeing this error:

MonoTouchException: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Could not load NIB in bundle: 'NSBundle </Users/imac/Library/Application Support/iPhone Simulator/5.0/Applications/5D8B4B51-9FB2-4331-BFEB-B1A0AC77DF42/Tutorial.app> (loaded)' with name 'MyFirstView'

I've looked through lots of other questions like:

  • NSInternalInconsistencyException Could not load nib in bundle
  • Could not load NIB in bundle
  • and lots of others

But I can't see that any apply here - they are mainly about file naming issues and my Nib does appear to be in the output package file with the correct name.

I'm using MonoTouch 5.2.5 and xcode 4.2, and targeting SDK5

Does anyone have any ideas about what I could try to fix this?

回答1:

I have faced the same Problem today. I refactored (rename) viewController to myCustomViewController and got this error. When I searched in my project files, I saw that I have used self.viewController = [[[MyTableViewController alloc] initWithNibName:@"viewController" bundle:nil] autorelease];

NibName was changed but in @" " it was old name. so I changed it to

self.viewController = [[[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil] autorelease];

and error was removed. Do it and hope your error will be removed. Vote up if it helps.



回答2:

The problem eventually it seems was somewhere in the extended toolchain - somewhere between MonoDevelop, xCode4 and the simulator.

Restarting everything, and resetting the simulator cleared the problem.

Later in the same chain I've seen smaller issues with "old NIB file outlets" persisting on the simulator even after I've definitely deleted them and rebuilt - so something is still going wrong somewhere... but a clean solves it each time.



回答3:

So I had a similar solution in MonoDevelop. I created an empty mono touch project. When I deleted the xib file associated with the auto created project, i ran into problems. Even though I created a new view and connected the outlet to that controller, I had to go back and recreate the xib file associated with the controller (with the same name) again, and then connect that original view and controller via the outlet