Xcode 6.3:无法在bundle中加载NIB

Cam*_*ert 20 xcode interface-builder ios

使用Xcode 6.3(iOS 8.3 SDK)编译时,某些nib文件名会在额外~ipad~iphone某些情况下结束.例如, ViewController~ipad.xib成为ViewController~ipad~ipad.nib.这导致崩溃,因为应用程序不希望编译的nib文件具有双后缀.

Cam*_*ert 39

要解决此问题,请在Interface Builder中的任何受影响的文档中取消选中"使用大小类".

这似乎是ibtoolXcode 6.3(以及iOS 8.3 SDK)中包含的版本中的错误.它发生在以下情况:

  • 您有一个特定于设备的输入文件,*~(iphone|ipad).xib其中启用了大小类.
  • 您的部署目标是比iOS 8.0更早的版本.

我能够在命令行上重现该问题:

xcrun --sdk iphonesimulator8.3 ibtool --minimum-deployment-target 7.0 --compile ViewController~ipad.nib ViewController~ipad.xib
Run Code Online (Sandbox Code Playgroud)

如果您看到相同的行为,请复制此雷达. 这似乎是在最新的Xcode 6.4 beta中修复的.