繁体   English   中英

当nib本地化时,Cocoa无法加载窗口nib文件

[英]Cocoa failed to load window nib file when nib is localized

我正在尝试在我的简单Cocoa应用程序中创建并显示新窗口:

myWindow = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow" owner:self];
[myWindow showWindow:self];

它在没有本地化的基本nib文件下运行良好,但是一旦我打开这个特定nib文件的本地化(使用Xcode“localize”选项可用表单文件检查器),应用程序在执行上面的代码时给出了这个错误:

- [MyWindowController loadWindow]:无法加载窗口nib文件'AuthWindow'。

我是否应该在使用本地化笔尖时更改我正在初始化窗口控制器的方式? 只有当包含窗口的nib被本地化时(仅使用一种语言 - 英语),当没有配置本地化时,它才会失败 - 窗口被加载并显示在屏幕上。 我找不到合适的答案,我是OSX上的Cocoa新手,但是对CocoaTouch和iOS开发有一些经验。

我重新启动了Xcode,错误消失了......

我不知道......但无论如何......

initWithWindowNibName: 可以在本地化目录中找到.nib文件,例如en.lproj/ 问题是,有时Xcode忘记将.xib文件(XML格式的Interface Builder文件,你经常使用它) 编译.nib文件或二进制格式 - 特别是当.xib文件只是通过点击本地化时“本地化...”按钮。

如果打开$build_dir/Your.app/Contents/Resources/$locale.lproj您会发现只从源目录复制了一些xib。

重新启动Xcode将解决这种情况,而我不确定原因是什么以及为什么重新启动可以解决问题。

这是一个老问题,但我找到了与上述不同的解决方案。 在有问题的笔尖中,转到标识面板并确保检查笔尖的目标成员资格。

在此输入图像描述

我有这样的错误。 为我解决的是制作xib文件的备份副本,从xcode中删除它,重新启动xcode,然后再添加它。 去搞清楚...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM