Xcode: Objective-C сборка и запуск из командной строки
У меня есть следующий файл:
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
?
Я не хочу компилировать и генерировать выходной файл, а затем выполнять исполняемый файл.
1 ответ
Мой вопрос к вам, ребята, есть ли способ просто создать / выполнить код в doSomething.m?
Конечно. Напишите сценарий сборки. Очень часто проекты любого размера включают make-файл или какой-либо другой сценарий, который выполняет все шаги, необходимые для сборки проекта, часто с различными параметрами для сборки для разных целей или с разными параметрами. Сценарии - отличный способ упростить повторяющиеся операции, и это правильный способ справиться с повторяющейся задачей, с которой вы сталкиваетесь. Если у вас много таких однофайловых проектов, вы можете сделать так, чтобы сценарий принимал имя исходного файла в качестве параметра.
В вашем сценарии не должно быть ничего необычного: просто перечислите команды, которые вы обычно выполняете в текстовом файле с префиксом #!/bin/sh
(или любой другой вашей любимой оболочки), например:
#!/bin/sh
clang -framework Foundation doSomething.m -o doSomething-exec
./doSomething-exec
Затем сделайте свой скрипт исполняемым, и все готово.
Я не хочу компилировать и генерировать выходной файл, а затем выполнять исполняемый файл.
Другой вариант - создать проект Xcode с целью для вашего doSomething
товар. Это довольно типичный способ работы разработчиков, работающих в обычном режиме итеративного редактирования-компиляции-запуска.