Xcode 6.3: Could not load NIB in bundle

后端 未结 4 1579
礼貌的吻别
礼貌的吻别 2020-12-06 16:15

When compiled using Xcode 6.3 (iOS 8.3 SDK), some nib filenames end up with an extra ~ipad or ~iphone in certain circumstances. For example,

相关标签:
4条回答
  • 2020-12-06 16:46

    To fix this, uncheck “Use Size Classes” in any affected documents in Interface Builder.

    This appears to be a bug in the version of ibtool included with Xcode 6.3 (and the iOS 8.3 SDK). It's happening in the following circumstances:

    • You have a device-specific input file *~(iphone|ipad).xib with size classes enabled.
    • Your deployment target is anything older than iOS 8.0.

    I was able to reproduce the problem on the command line:

    xcrun --sdk iphonesimulator8.3 ibtool --minimum-deployment-target 7.0 --compile ViewController~ipad.nib ViewController~ipad.xib
    

    If you're seeing the same behavior, please duplicate this radar. This appears to be fixed in the latest Xcode 6.4 beta.

    0 讨论(0)
  • 2020-12-06 16:53

    change ~ to _ in the xib name and specify explicitly the suffix while loading the bundle programmatically.

    0 讨论(0)
  • 2020-12-06 16:55

    I had some files named with ~ and I renamed them, but it did not help, the thing is that I have no XIB files, I even tried to change my Storyboards to Size Classes.

    Nothing is helping, I have build target set to iOS 7 and I really need to support iOS 7.

    I do not know what handle NIB loading in code means...

    One more time, the problem is that my App in AppStore started to crash on iOS 8.3, and if try to build the App in XCode 6.3 using my iPad Air running iOS 8.3 it crashes right away with this message:

    *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: ....

    Thanks for help.

    0 讨论(0)
  • 2020-12-06 16:56

    This appears to be a bug of Xcode 6.3 when compiling XIB files. In order to workaround the exceptions there are 4 Options:

    1. Target your project to iOS 8
    2. Use storyboards instead of XIB files
    3. Disable Size Classes
    4. Handle NIB loading in code

    I detailed each of these options in my blog post: http://www.joobik.com/2015/04/fixing-xcode-63-ios-sdk-error-could-not.html

    0 讨论(0)
提交回复
热议问题