Objective-C Ubuntu-Linux 的环境设置

Objective-C Environment Setup For Ubuntu-Linux

我没有用于 ios 开发的 Mac 机器。现在处于学习阶段,想在Linux上开始ios开发。那么是否可以在 Linux 环境中 运行 Objective-C 代码?

不幸的是,要为 iOS 开发,您的机器上需要 OS X。另一种方法是在您的计算机上创建虚拟机并在其上安装 OS X 和 XCode。我听说这个解决方案非常适合人们,只要他们的计算机可以处理它。

有关创建 "hackintosh" 的更多信息,请参见 here.

当然可以。 LLVM/Clang 可作为大多数 Linux 发行版的软件包提供,是学习 Objective-C.

的绝佳环境

但是,您很快就会碰壁。也就是说,iOS(或 OS X)开发堆栈——框架、API 和工具——不适用于 Linux,因此,你运气不好您想做任何图形化的那一刻。

有一些项目——GNUStep、Cocotron——实现了一组类似于 Cocoa 的 API(直接从 OpenStep 派生),这些非常值得学习,但你仍然不会编写真实的 iOS / OS X 应用程序。

是的,可以通过以下方式在 Ubuntu 到 运行 Objective-C 代码中:

在 Ubuntu 中,使用以下命令安装 GNU Objective-C 编译器和 Gnu-step 开发库::

sudo apt-get –y install gobjc gnustep gnustep-devel

现在键入下面给出的程序,并以 .m 扩展名保存文件。

例如,hello.m

// 'Hello World' Program in Objective-C
#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog (@"Hello, World!");
    [pool drain];
    return 0;
}

现在使用以下命令编译程序:

gcc $(gnustep-config --objc-flags) -o hello hello.m $(gnustep-config --base-libs)

或者您可以编写此示例 Makefile:

CC := gcc
GNUSTEP_LIBS = $(shell gnustep-config --base-libs)
GNUSTEP_FLAGS = $(shell gnustep-config --objc-flags)

.PHONY = clean all

PROGS = hello class_hello

all: $(PROGS)

%.o: %.m
    $(CC) $(GNUSTEP_FLAGS) -c $^

hello: hello.o
    $(CC) -o $@ $^ $(GNUSTEP_LIBS)

clean: 
    rm $(PROGS) *.o

和运行:

make

现在 运行 使用以下命令的可执行文件:

./hello

输出 -> 2014-11-14 15:47:32.628 hello[2786] Hello, World!

输出的格式是这样的-

<DATE> <TIME> <NAME  OF THE EXECUTABLE[NUMBER]> <ACTUAL OUTPUT>