Skip to main content

Could not load nib in bundle on iPhone device


I'm trying to test an app I'm developing on my iPhone. To do that I changed the target from Simulator to Device on Xcode. The application is correctly uploaded to the device and it works, or better, the main view is shown but if I try to open a secondary view, application crash.



On the iPhone log (I installed iPhone configuration utility to see the console [is the only way to see the log from iPhone?]) I can see that error:



"Could not load NIB in bundle"



but, on simulator it works fine. What's wrong? Any idea?



thanks, Andrea


Source: Tips4allCCNA FINAL EXAM

Comments

  1. I've found that sometimes the device is case sensitive and the simulator is not.

    What's the filename of your xib?



    or

    Try uninstalling the app from the simulator and installing it again - the simulator might have an old file left over from a previous run of the app - have you renamed / moved the xib at all during development?

    ReplyDelete
  2. I had a similar problem and was getting the same error. Turns out I was using the full name of the xib file in the attributes panel under "NIB Name:"

    Don't use "SomeViewController.xib", just use "SomeViewController" without the ".xib" extension.

    ReplyDelete
  3. I had the same problem and fixed it like so:


    Open XCode Target
    Click the "Build phases" tab
    Click the "Copy bundle resources" section
    Click the +
    Add the missing Nib file

    ReplyDelete
  4. I had the same problem when invoking initWithNibName:@"MyViewController"

    Changing the invocation to initWithNibName:NSStringFromClass([MyViewController class]) worked well

    ReplyDelete
  5. You can try these things:


    Make sure case is correct
    Use xib filename without the ".xib" extension
    Remove any -(dash) or other special chars, use _(underscore)
    Remove the xib file from the project and add back to the Xcode project
    Check the build settings and make sure deployment is changed to currect SDK

    ReplyDelete
  6. In my case, the xib simply wasn't being copied into the bundle. Once I added the xib into the "Copy Bundle Resources" step for the application target, everything went fine.

    ReplyDelete
  7. I finally managed to solve that issue with these two steps:


    In the view controller files inspector, remove any localization
    (just for testing)
    Ensure that you have checked the correct target membership


    I don't know why it works on the simulator :(

    ReplyDelete
  8. I ran into the same problem. In my case the nib name was "MyViewController.xib" and I renamed it to "MyView.xib". This got rid of the error.

    I was also moving a project from XCode 3 to 4.2. Changing the Path type did not matter.

    ReplyDelete
  9. For what its worth, I received this error when one of my tab bar buttons had the wrong class assigned to it.

    ReplyDelete
  10. I've got it to run with delete all of the localization from the xib
    In the right window.
    Maybe the file is in the localization folder.

    ReplyDelete
  11. I had the same error message.
    My problem, however was that my language settings on my phone were set on "English" and the Region on "United Kingdom". However, the file that could not be loaded was placed in the de.lproj directory.
    Moving the file into the root directory solved it.

    ReplyDelete
  12. I've the same problem. And my solution is remove all Localizations for the view.

    ReplyDelete
  13. I had exactly the behavior you described: works on simulator but get the "Could not load NIB in bundle" when running on the device, and the app remain stuck on the launch image.

    In my case the problem was about the MainWindow.xib file that Xcode automatically created with English localization. I am supporting English and Italian in my app and realized that I was missing the localized version of MainWindow.xib for the Italian language.

    Because I had no need to localize this file (it's Xcode default to create it localized) I fixed the problem by simply removing the English localization, so the same file is used independently of the localization. Another way to fix the problem would be to add the missing localized version, if you need it.

    The app was crashing on the device because my device is configured for Italian language. The simulator instead was set to English and this is why the app run correctly. Just to verify, I set the simulator to Italian language and the app crashed confirming the localization problem.

    ReplyDelete

Post a Comment

Popular posts from this blog

[韓日関係] 首相含む大幅な内閣改造の可能性…早ければ来月10日ごろ=韓国

div not scrolling properly with slimScroll plugin

I am using the slimScroll plugin for jQuery by Piotr Rochala Which is a great plugin for nice scrollbars on most browsers but I am stuck because I am using it for a chat box and whenever the user appends new text to the boxit does scroll using the .scrollTop() method however the plugin's scrollbar doesnt scroll with it and when the user wants to look though the chat history it will start scrolling from near the top. I have made a quick demo of my situation http://jsfiddle.net/DY9CT/2/ Does anyone know how to solve this problem?

Why does this javascript based printing cause Safari to refresh the page?

The page I am working on has a javascript function executed to print parts of the page. For some reason, printing in Safari, causes the window to somehow update. I say somehow, because it does not really refresh as in reload the page, but rather it starts the "rendering" of the page from start, i.e. scroll to top, flash animations start from 0, and so forth. The effect is reproduced by this fiddle: http://jsfiddle.net/fYmnB/ Clicking the print button and finishing or cancelling a print in Safari causes the screen to "go white" for a sec, which in my real website manifests itself as something "like" a reload. While running print button with, let's say, Firefox, just opens and closes the print dialogue without affecting the fiddle page in any way. Is there something with my way of calling the browsers print method that causes this, or how can it be explained - and preferably, avoided? P.S.: On my real site the same occurs with Chrome. In the ex