gpt4 book ai didi

来自命令行的 Cocoa 应用程序

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

我一直在尝试按照说明 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 未完全加载)。

最佳答案

经过一番摆弄,我找到了解决问题的方法。通过 TransformProcessType 转换进程类型,然后使用准确命名的 [NSApp activateIgnoringOtherApps:YES] 就成功了:

ProcessSerialNumber psn = { 0, kCurrentProcess }; 
OSStatus returnCode = TransformProcessType(& psn, kProcessTransformToForegroundApplication);

[NSApp activateIgnoringOtherApps:YES];

(我还添加了一个自定义菜单来完成它)。感谢 Mankarse 的指点!

关于来自命令行的 Cocoa 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137538/

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