【发布时间】:2011-11-15 14:04:54
【问题描述】:
按照here 的说明,我一直在尝试在不使用 NIB 或 XIB 的情况下创建 Cocoa(桌面)应用程序。一切都很好,从 Terminal.app 我可以成功运行该应用程序。然而,它生成时没有任何常见的装饰,例如菜单栏或停靠图标,在终端窗口之后,并且似乎非常依赖于终端进程。
我怀疑这可能是直接从命令行运行二进制文件本身的结果,但玩了一会我发现至少Calculator.app 非常乐意在调用时生成一个“真正的”应用程序:
$ /Applications/Calculator.app/Contents/MacOS/Calculator
我在这里错过了什么,如果有的话?我也尝试过通过
加载 XIB 文件NSNib *mainNib = [[NSNib alloc] initWithContentsOfURL:[[NSURL URLWithString:@"../MainMenu.xib"] absoluteURL]];
[NSNib instantiateNibWithOwner:application topLevelObjects:nil];
这似乎找到了 XIB,但没有区别(即 GUI 未完全加载)。
【问题讨论】:
-
你是在一个包中运行你的程序吗?
-
暂时没有——如果可以的话,我会尽量避免。我不介意有一个单独的 NIB,但理想情况下,我希望尽可能避免使用整个 .app 结构。我对 Calculator.app 的快速实验表明我所追求的可能是可能的,除非它通过某种魔法加载到它自己的包中。