本地化后:无法在包路径中找到名为...的nib :( null)

Tho*_*mar 2 macos localization xib xcode4

我开始进入Mac OS X开发,我遇到的问题是我在过去三个小时内无法弄清楚的解决方案(我已经google了很长时间).

测试应用程序:
我有一个应用程序,它有一个MainMenu.xib显示窗口 - 到目前为止一直很好.我创建了另一个XIB和NSViewController子类,其中包含一个我想在主窗口中显示的视图.我使用以下代码加载视图并将其插入主窗口:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Insert code here to initialize your application
    self.compartmentViewController = [[SelectCompartmentViewController alloc] initWithNibName:@"SelectCompartmentViewController" bundle:nil];
    [self.compartmentViewController.view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
    [self.compartmentViewController.view setFrame:[self.contentArea bounds]];              
}
Run Code Online (Sandbox Code Playgroud)

compartmentViewController是一个属性,self.contentArea是主窗口上的自定义视图 - 就像一个占位符.

这到目前为止工作正常.

问题
然后我决定查看本地化功能.我已经本地化了几个字符串和两个XIB.起初,由于没有看到任何本地化的值,我有点困惑.直到我发现我必须清理项目 - 从那时起我在运行时遇到以下错误:

2013-03-19 22:48:59.763 Vocab Box [10160:303]无法找到命名的nib:捆绑路径中的SelectCompartmentViewController :( null)
2013-03-19 22:48:59.764 Vocab Box [10160:303] - [ NSViewController loadView]无法加载"SelectCompartmentViewController"笔尖.

建议的解决方案我试过无济于事

  1. 清理项目没有帮助
  2. 检查构建配置 - 是的,捆绑资源似乎没问题
  3. 是的,如果我删除了我的子视图的本地化并重新添加了原始的XIB,那么一切都很好(尽管当然视图没有本地化)

救命

Mou*_*eta 7

我没有答案为什么会发生这种情况.但我有同样的问题,我通过关闭xCode并再次打开它来修复它,相信我.