gpt4 book ai didi

xcode - 如何在 XCode 3.2.6 中将 CLI 目标添加到 GUI 项目

转载 作者:行者123 更新时间:2023-12-03 17:52:34 25 4
gpt4 key购买 nike

我开始致力于构建 OS X 应用程序的项目,其中一个组件是文件扫描器和解析器。到目前为止,这是我一直在努力的主要部分。为了测试它,在深入研究项目的核心之前,我想构建一个可以输入字符串和/或文件的命令行程序,以确保它实际上正确扫描和解析。所以我使用“添加新目标”并选择“Cocoa Shell Tool”。在该目标中,我添加了解析器的相关文件,确保它链接“Cocoa.framework”...

当它尝试预编译“/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h”时,我收到了 11,000 多个错误。

我在如何添加命令行目标方面完全走错了路吗?

(在有人问之前,不,XCode 4 不是一个选项。这台机器不会很快离开 10.6.8。)

最佳答案

嗯,我从来没有找到如何做到这一点,但我找到了一个合理的替代品。

在 Info.plist 中,创建一个 LSEnvironment 字典,其中包含一些键/值对。我使用了“GUILaunch=true”。该环境变量仅在通过 launchd 启动时可用,而在 shell 中直接启动时不可用。

在main.m中:

int main(int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSDictionary *env = [[NSProcessInfo processInfo] environment];
NSString *gui = [env objectForKey:@"GUI_Launch"];
if ((gui!=nil) && [gui isEqual:@"true"]) {
[env release];
[gui release];
return NSApplicationMain(argc, (const char **) argv);
} else {
[env release];
[gui release];
return main2(argc, argv);
}
[pool release];
}

现在,根据启动方式,调用标准 GUI 位,或者调用 main2。

关于xcode - 如何在 XCode 3.2.6 中将 CLI 目标添加到 GUI 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21819672/

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