【问题标题】:Can you Run Xcode in Linux?你能在 Linux 上运行 Xcode 吗?
【发布时间】:2011-01-25 06:09:38
【问题描述】:

你能在 Linux 上运行 Xcode 吗? Mac OS X 是基于 BSD Unix,所以有可能吗?

据我所知,有一个带有 iPhone 模拟器的 MonoDevelop 插件。

【问题讨论】:

  • 我想这就是你要找的东西 Apple 发布了 swift 来替换 xcode for linux ios devs cnet.com/news/apple-introduces-swift-2
  • 他们发布的是 swift 而不是 Xcode。
  • 还是不好。只是该语言是开源的,并与标准库一起发布在 Linux 上。它的目的不是制作 iOS 应用程序或替换 Xcode。更喜欢用 swift 制作 Linux 应用程序。当然,这会简化想要制作交叉编译器的人们的工作。

标签: linux xcode monodevelop


【解决方案1】:

OSX 是 based on BSD,而不是 Linux。你不能在 Linux 机器上运行 Xcode。

【讨论】:

  • 它与运行什么内核无关。而且 MacOS 几乎不是“基于 BSD”,请参阅我上面的回答了解历史
【解决方案2】:

我认为您需要 MonoTouch(不是免费的!)来获取该插件。

不,没有办法在 Linux 上运行 Xcode。

抱歉所有坏消息。 :)

【讨论】:

    【解决方案3】:

    不,您听说过MonoTouch,它是用于 iPhone 开发的 .NET/mono 环境。但是您仍然需要 Mac 和官方的 iPhone SDK。模拟器是苹果官方的模拟器,它作为一个单独的 IDE,让你不必在 Objective C 中编写代码,而是在 c# 中编写代码

    至少可以说这是一个有趣的项目......

    编辑:显然,您现在可以在应用商店上分发,早期那是不行的......

    【讨论】:

      【解决方案4】:

      Xcode 的底层工具链(gcc 编译器系列、gdb 调试器等)都是开源的,并且在 Unix 和 Linux 平台上通用。但 IDE——编辑器、项目管理、索引、导航、构建系统、图形调试器、可视化数据建模、SCM 系统、重构、项目快照等——是 Mac OS X Cocoa 应用程序,不可移植。

      【讨论】:

      • +1 对常见内容和以 mac 为中心的内容的出色简短细分
      • 更不用说在另一个操作系统上运行它可能会破坏它的 EULA。在许可协议方面,Apple 尤其吝啬。
      • 这不是 100% 正确的(或最新的)。标准 GCC 不能生成 Mach-O 目标文件,但 Clang 可以。但是你仍然需要苹果的 ld 来链接最终的二进制文件。 Darling 可以在 Linux 上运行原始的 Xcode 工具链(但不能在 Xcode IDE 上)。
      【解决方案5】:

      如果您运行 VMware Player 或 Workstation(或者可能是 VirtualBox,我不确定它是否支持 Mac OS X,但可能),然后运行 ​​Mac OS X Server(客户端无法合法虚拟化)。当然,在这种情况下,您是在 OS X 上运行 XCode,但您的主机可能是 linux。

      【讨论】:

      • 确实可以在 VirtualBox 中运行 OS X。我以这种方式运行 10.8 Mountain Lion。您必须遵循操作指南。它几乎完美无缺。我是丹麦人,所以我必须构建自己的键盘布局。
      • Even Server 只能(合法)仅在 Apple 硬件上进行虚拟化;我认为在 Apple 硬件上运行 Linux 并在 Mac OS X 上运行它是合法的(尽管我不确定这是一个有吸引力的选择)。 @KristianSpangsege:很高兴听到它在 VirtualBox 下为您运行......我安装了大约 5 个不同的版本,而且都很慢。在我切换到 VMware 之前,我认为这是所有虚拟化 MacOSX 的问题......那里几乎没有问题(偶尔会出现短暂的减速)。
      【解决方案6】:

      我真的想发表评论,而不是回答。但确切地说,OSX 不是基于 BSD,它是 NeXTStep 的演进。 NeXTStep OS 使用 CMU 开发的 Mach 内核。它最初被设计为 MicroKernel,但由于性能限制,他们最终决定需要将 API 的 Unix 部分包含到内核本身中,因此需要一个与 BSD 兼容的“服务器”(最初旨在处理与 BSD 兼容的请求内核消息)被移入内核,使其成为单片内核。它可能在编程 API 中与 BSD 兼容,但它不是 BSD。

      操作系统的其余部分涉及 ObjectiveC(在 Stepstone 和 GNU/GCC 的 Richard Stallman 之间的安排下)和基于一种称为“显示 Postscript”的技术的 GUI……有点像 X 服务器,但带有 postscript 命令。 OS X 将 Display Postscript 更改为 Display PDF,并将一般硬件要求提高了 1000 倍(NeXT 可以运行在 8-16MB,现在您需要 GB)。

      由于 GCC 与 Objective C 和 NeXT 的紧密结合,在 Linux 下以本机方式运行 XCode 的最佳选择是使用 GNUStep 库进行移植(如果你能获得源代码 - 祝你好运)。最初是为 NextStep 和 OpenStep 兼容性而设计的,我听说它们现在或多或少地兼容 Cocoa,但我在近 2 年的时间里没有玩过任何一个。当然,这只能让您了解 ObjC,而不是 Swift,而且我不知道 Apple 是否会开源它。

      【讨论】:

        【解决方案7】:

        还没有人建议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 选项从内部运行编辑器。

        【讨论】:

        • 您是否需要能够运行 GUI 编辑器才能使用 Xcode 构建应用程序,还是可以通过 CLI 完成?
        【解决方案8】:

        如果您想在其他操作系统上使用 XCode,我建议使用云计算。这样,您的应用程序正在 Mac 上开发,并且可以提交到 App Store。

        【讨论】:

          【解决方案9】:

          如果您无法花数千美元购买一台像样的 Mac,那么可以选择在云中运行 OSX 和 XCode:

          http://www.macincloud.com/

          【讨论】:

          • 它不是免费的,我会买一个真正的 Macintosh。
          【解决方案10】:

          最简单的选择是运行带有 OSX 副本的 VM。

          【讨论】:

            【解决方案11】:

            如果你真的想在 linux 上使用 Xcode,你可以获取 Virtual Box 并在 VM 上安装 Hackintosh。 编辑:MacOS Movaje 不支持 Virtual Box Guest Additions。你会想要使用 VMware

            https://www.vmware.com/

            https://hackintosh.com/

            【讨论】:

              【解决方案12】:

              奇怪的是没有人建议KVM

              它将为您提供几乎原生的性能,并且它是内置的 Linux。 去看看吧。

              你会觉得你只是在使用 mac,然后在那里安装 Xcode 你甚至可以选择在启动时直接启动到 OSX GUI 而不是 Linux 系统

              【讨论】:

                【解决方案13】:

                您可以使用Darling 在 Linux 上原生运行 Xcode:

                Darling 是一个翻译层,可让您在 Linux 上运行 macOS 软件

                一旦installed,您可以通过命令行开发工具安装 Xcode,在此 link 之后。

                【讨论】:

                  【解决方案14】:

                  使用 quiling 框架 欲了解更多信息,请查看https://github.com/qilingframework/qiling 我认为这是最好的

                  【讨论】:

                  • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
                  猜你喜欢
                  • 2016-11-01
                  • 2018-07-02
                  • 1970-01-01
                  • 2021-05-31
                  • 2016-02-13
                  • 2013-11-10
                  • 1970-01-01
                  • 2021-08-04
                  • 2012-01-11
                  相关资源
                  最近更新 更多