【发布时间】:2014-02-04 09:11:08
【问题描述】:
我正在开发一个应该在 10.7 上受支持的 Mac OS 应用程序。该项目是在 Xcode 5 下创建的,在 Mavericks 上运行,最初启用了基本本地化。
我现在已经删除了基本本地化,以便可以支持 10.7,但由于 Xcode 生成以下错误,因此无法再让应用程序在 10.7 或 10.9 上运行:
Unable to load nib file: MainMenu.xib, exiting
所以我通过File - New File - MainMenu 添加了一个新的 MainMenu.xib 文件。我连接了 AppDelegate 对象并设置了代表。
回到项目文件,我确定了以下几点:
- MainMenu.xib 是构建目标的
Copy Bundle Resources构建阶段的一部分。 - 确保在目标
General - Main Interface设置中选择了MainMenu.xib - 在
File Inspector中检查MainMenu.xib并看到它已本地化为English,并且在其旁边选中了一个复选标记。
我想不出还应该设置什么。我什至创建了一个新的空项目进行测试。有了这个,我除了删除基本本地化之外没有做任何更改,然后尝试重新添加新的 MainMenu.xib 并按照上述步骤进行操作,但无济于事。在 Xcode 中启动时,该构建也会失败并出现相同的错误。
我什至尝试过使用不同名称的不同 XIB 文件(但仍将一个设置为 MainMenu),但所做的只是更改错误消息以反映我在设置中指定的新 XIB 名称。
虽然我确信基本本地化很棒,但我希望支持 10.7 用户,所以我不认为保持基本本地化对我来说是一种选择。
任何帮助(即使它指出了显而易见的)将不胜感激。
【问题讨论】:
-
在您的 Apps Info.plist 文件(或 Xcode 中的 Info 设置)中,
Localization native development region的值是多少?这应该是您的母语。另外,您现在的 XIB 的文件布局是什么?您的 MainMenu.xib 是在基本Resources文件夹中还是在.lproj文件夹中? -
@gaige:
Localization Native Development Region设置为en,这对我来说是正确的。我的MainMenu.xib文件位于en.lproj文件夹中,我使用的其他几个XIB 文件位于更高的一个目录(Xcode 默认放置所有源文件)。我没有名为Resources的文件夹。使用 Xcode 中的文件检查器,我检查了我的项目是否正确引用了MainMenu.xib文件。仍然不知所措。
标签: objective-c xcode macos cocoa