gpt4 book ai didi

Xcode 5 Cocoa 应用程序无法在 OS X 10.6 上加载 Nib

转载 作者:行者123 更新时间:2023-12-03 16:57:24 25 4
gpt4 key购买 nike

我正在为 10.6 及更高版本的操作系统创建 Cocoa 应用程序。我在 Xcode 5 (10.9) 中创建了一个全新的基于文档的应用程序,并更改了两个设置以使其与 10.6 兼容:我将部署目标更改为 10.6,并关闭了 MainMenu.xib 和 xxDocument.xib(这两个文件)上的自动布局基于文档的模板中包含的默认 Nib 。我归档了我的应用程序(没有代码签名),不添加其他代码,并在四个不同的操作系统上对其进行了测试。结果如下:
OS X 10.9:按预期启动并显示一个新文档窗口(“此处为您的文档内容”)。
OS X 10.8:按预期启动;与 10.9 相同。
OS X 10.7:无法启动;控制台应用程序产生“应用程序名称:无法加载 nib 文件:MainMenu,正在退出”。
OSX 10.6:无法启动;控制台输出与 10.7 相同。

我对我的应用程序的行为感到非常困惑。我完全没有向 Xcode 为我创建的基于文档的应用程序模板添加任何代码;我只是更改了所需的设置以使其与 10.6 及更高版本兼容。我还尝试在build设置中关闭 ARC,这没有任何区别。我检查了Apple文档,还搜索了有关我收到的控制台错误的其他问题,但没有一个与此问题相关。我非常惊讶 10.7 表现出了这种行为,因为 10.7 与 ARC 兼容。我将非常感谢任何关于如何解决这个问题的建议。我怀疑默认模板可以很容易地修改,因为苹果可能不会提供需要大量修改才能使其正常工作的模板。谢谢。

更新:按照建议,我在 Xcode 中关闭了基本国际化。我运行了该应用程序,效果很好。我导出了应用程序(无代码签名)并在上述所有操作系统上进行了测试。这次,我在所有操作系统上都出现了上述错误。这甚至发生在我构建项目的同一台机器上,唯一的区别是我没有从 Xcode 运行它。我的下一步是实际创建一个 MainMenu.xib 文件(因为删除基本国际化会删除旧文件)并将其设置为主界面。现在,我不仅会在所有操作系统上导出的应用程序中收到错误,而且当我尝试运行该应用程序时,它也会显示在 Xcode 中!我还有什么遗漏的吗?

最佳答案

正如之前提到的,您需要禁用国际化基础。

在项目导航器中,单击第一个项目,即您的项目(由带有白色 A 的蓝色页面表示,它是所有其他项目的根)

默认情况下,您应该会看到左侧的“信息”页面(如果没有从顶部的选项卡中选择它)

信息属性表中的最后一项是本地化。在本地化下,您将能够添加和删除语言,默认情况下您应该有两种语言:基本语言和英语。

删除两者,并取消选中“使用基础国际化”复选框

完成此操作后,从项目本身中删除所有 *.xib 文件。确保仅删除引用!!!不要发送到垃圾箱!!!

删除引用后,进入 Finder,打开项目目录,您将找到一个名为 Base.lproj 的目录,其中包含 *.xib 文件。将它们复制或移动到您的项目目录上一级,然后删除 Base.lproj 目录。

返回 xCode 并添加回您的 *.xib 文件。++K 清理项目,然后++R 重建。

这应该将应用程序包中的 *.xib 文件从 Base.lproj(10.6 似乎找不到它们)移动到 Resources 文件夹,并解决问题。

关于Xcode 5 Cocoa 应用程序无法在 OS X 10.6 上加载 Nib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21190308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com