【问题标题】:Xcode: Objective-C build and run from command lineXcode:Objective-C 从命令行构建和运行
【发布时间】:2020-11-10 04:56:21
【问题描述】:

我有以下文件:

doSomething.m

使用以下实现:

#import <Foundation/Foundation.h>

int main(int argc, char * argv[]) {
    NSString * appDelegateClassName;
    @autoreleasepool {
        NSLog(@"main");
    }
    return 0;
}

如果我想编译我需要运行以下命令:

clang -framework Foundation doSomething.m -o doSomething-exec

要查看任何输出,我需要执行以下命令:

./doSomething-exec 

我对你们的问题是有一种方法可以构建/执行doSomething.m 中的代码吗?

我不想编译和生成输出文件,然后执行可执行文件。

【问题讨论】:

  • 不,clang 就是这样工作的。

标签: ios objective-c xcode-command-line-tools xcode11.2.1


【解决方案1】:

我对你们的问题是,有一种方法可以构建/执行 doSomething.m 中的代码吗?

好的。 编写构建脚本。对于任何规模的项目来说,包含一个 make 文件或其他类型的脚本来处理构建项目所需的所有步骤是很常见的,通常带有用于构建不同目标或具有不同选项的各种参数。脚本是简化重复性操作的好方法,也是处理您面临的重复性任务的正确方法。如果你有很多这样的单文件项目,你可以让脚本将源文件的名称作为参数。

您的脚本不必太花哨:只需在一个以#!/bin/sh(或任何您喜欢的shell)为前缀的文本文件中列出您通常发出的命令,例如:

#!/bin/sh
clang -framework Foundation doSomething.m -o doSomething-exec
./doSomething-exec

然后让你的脚本可执行,你就可以开始了。

我不想编译和生成输出文件,然后执行可执行文件。

另一种选择是为您的doSomething 产品创建一个目标为Xcode 项目。对于以通常的迭代编辑-编译-运行方式工作的开发人员来说,这是一种非常典型的工作方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2013-09-25
    • 2015-07-30
    相关资源
    最近更新 更多