你能在Linux上运行Xcode吗? Mac OS X基于BSD Unix,有可能吗?
据我所知,有一个MonoDevelop插件有一个iPhone模拟器。
答案 0 :(得分:344)
Xcode的低级工具链(gcc编译器系列,gdb调试器等)都是Unix和Linux平台的开源和通用。但IDE - 编辑器,项目管理,索引,导航,构建系统,图形调试器,可视化数据建模,SCM系统,重构,项目快照等 - 是Mac OS X Cocoa应用程序,并且不可移植。
答案 1 :(得分:26)
还没有人建议Vagrant,所以这里是Vagrant box for OSX
vagrant init https://vagrant-osx.nyc3.digitaloceanspaces.com/osx-sierra-0.3.1.box
vagrant up
你有一个MACOS虚拟机。但是根据Apple的EULA,你仍然需要在MacOS硬件上运行它:D但是在任何地方,这里都是向所有嘲笑MacOS并安装了Ubuntu的极客:D
不幸的是,您无法使用SSH X-forwarding
选项从内部运行编辑器。
答案 2 :(得分:20)
我真的想发表评论,而不是回答。但准确地说,OSX并非基于BSD,它是NeXTStep的演变。 NeXTStep OS使用CMU开发的Mach内核。它最初设计为MicroKernel,但由于性能限制,他们最终决定将API的Unix部分包含在内核本身中,因此需要兼容BSD的服务器" (最初用于处理与BSD兼容的内核消息的请求)被移入内核,使其成为单片内核。它可能在编程API中与BSD兼容,但它不是BSD。
操作系统的其余部分涉及ObjectiveC(在Stepstone和GNU / GCC的Richard Stallman之间的安排下),其GUI基于一种名为"显示Postscript" ...有点像X服务器,但有postscript命令。 OS X将Display Postscript更改为Display PDF,并将一般硬件要求提高了1000倍(NeXT可以在8-16MB内运行,现在需要GB)。
由于GCC与Objective C和NeXT紧密结合,在Linux下本地运行XCode的最佳选择是使用GNUStep库做一个端口(如果你能得到源码 - 好运)。最初是为NextStep设计的,然后是OpenStep的兼容性,我听说它们现在或多或少都与Cocoa兼容,但是近二十年来我还没有玩过任何一种。当然,只有ObjC,而不是Swift,我不知道Apple是否会使用OpenSource。
答案 3 :(得分:7)
如果您运行VMware Player或Workstation(或者VirtualBox,我不确定它是否支持Mac OS X,但可能),然后Mac OS X Server(客户端无法合法地虚拟化)。当然,在这种情况下,您在OS X上运行XCode,但您的主机可能是linux。
答案 4 :(得分:5)
如果你不能为一台体面的Mac支付数千美元,那么可以选择在云中运行OSX和XCode:
答案 5 :(得分:4)
答案 6 :(得分:2)
不,你听说过MonoTouch这是一个用于iPhone开发的.NET /单声道环境。但你仍然需要Mac和官方的iPhone SDK。模拟器是官方的苹果模拟器,它作为一个单独的IDE,允许您不必在Objective C中编码,而不是在c#中编码
至少可以说这是一个有趣的项目......
编辑:显然,你现在可以在应用程序商店发布,早期就是不行了......答案 7 :(得分:1)
OSX是based on BSD,而不是Linux。您无法在Linux计算机上运行Xcode。
答案 8 :(得分:1)
最简单的选择是运行带有OSX副本的VM。
答案 9 :(得分:1)
如果您真的想在Linux上使用Xcode,可以获取Virtual Box并在VM上安装Hackintosh。 编辑:MacOS Movaje不支持Virtual Box Guest Additions。您将要使用VMware
答案 10 :(得分:0)
如果你想在另一个操作系统上使用XCode,我建议云计算。这样你的应用程序就可以在Mac上开发,并可以提交到App Store。
答案 11 :(得分:0)
很奇怪,没有人建议 KVM 。
它将为您提供几乎本机的性能,并且它是内置的Linux。 去检查一下。
您会觉得您只使用Mac,然后在其中安装Xcode 您甚至可以选择直接启动进入OSX GUI,而不是启动时进入Linux
答案 12 :(得分:0)