在Linux中启动iPhone应用程序开发?

jav*_*vac 521 linux ios

我听说如果你想开发iPhone应用,你需要得到一台Mac.这是真的?

是否可以使用Linux开发iPhone应用程序?如果是,我需要什么以及在哪里下载必要的工具?

Cha*_*aos 298

为了提供不同的响应,我在Linux上的虚拟化(VMware)计算机上运行OS X和Xcode.CPU是Core2Quad(Q8800),速度非常快.我在网上找到了一个预建的VM(我会留给你找)Xcode/iPhone开发工作完美,通过USB调试到手机本身也是如此.

它实际上让我感到很惊讶 - 但我根本没有任何问题.

  • 是的 - 没问题.你正在使用XCode,签名工作正常,我现在在商店有一个生产应用程序,从VM提交.我不会因为显而易见的原因而将其命名. (43认同)
  • @Chaos:您能否发布链接到您用于运行设置的确切内容? (17认同)
  • 那么,使用您的方法,您可以在iTunes上签名并分发它吗? (11认同)
  • 可以信任预构建的VM吗?我的意思是嵌入式罪魁祸首软件,后门... (4认同)
  • 好。我对此有意见。开发完应用后,您可以使用此服务发布http://www.macincloud.com/ (2认同)

God*_*ter 75

这个问题的答案实际上取决于您是否要开发通过iPhone商店分发的应用程序.如果你不这样做,并且不介意为"越狱"的iPhone人群开发 - 那么就可以从Linux开发.

查看本章的页面,了解有关如何操作的全面(如果有点复杂)指南:

http://www.saurik.com/id/4


ste*_*yer 26

到目前为止似乎是真的.Apple提供的唯一SDK仅针对MacOS环境.我一直对此感到不安,但我现在正在考虑购买一台Mac,只是为了开发iPhone.我真的不喜欢他们正在做的事情,我希望为其他环境(如Linux和Windows)提供一个好的SDK.

这是一篇关于他们关于SDK的一般情况的文章:

iPhone SDK和免费软件:不匹配

Apple最近发布了一款适用于iPhone的软件开发套件(SDK),但如果你希望用它移植或开发原创的开源软件,那么这个消息并不好.代码签名和非公开条件使得免费软件成为一种禁忌.

SDK本身是免费下载的,您可以使用它来编写程序并在软件模拟器上运行它们.但是,为了实际发布您编写的软件,您必须注册iPhone开发人员计划 - 与下载SDK分开的步骤,以及需要Apple批准的步骤.

我认为他们认为只有macos用户足够好为他们的手机编写程序才是相当精英,如果你想发布你的东西,你需要购买100美元的许可证,这对于业余爱好者程序员来说真的更难.但是,如果这就是你需要做的事情,我打算跳过他们的篮球; 我真的很想在我的iPhone上开发一些东西.

  • 让我知道微软是否反对EULA在(Dar)Wine中运行Visual Studio,Access,Frontpage,XNA,DirectX,Office,Movie Maker,Visio,IIS或Exchange. (96认同)
  • 微软发布Visual Studio for Linux和Mac时让我知道... (24认同)
  • 微软何时发布Visual Studio,Access,Frontpage,XNA,DirectX,Office(包含所有功能),Movie Maker,Visio,IIS或Exchange for Mac/Linux. (12认同)
  • 如前所述,我不认为这里的精英主义是错误的.XCode和所有其他开发工具(除了像GCC这样的低级项目)都是用Cocoa编写的,就像所有的iPhone框架一样.他们需要首先将所有这些移植到其他操作系统.这不是一项小任务. (9认同)
  • @MarceloMason有点儿.它是Visual Studio _Code_,而不是完整的IDE. (5认同)
  • @StephenDarlington让你知道.Visual Studio已经针对Linux和Mac发布. (4认同)

Joh*_*ulé 20

There used to be a project dedicated to solve this defect: iphone-dev

The goal of the iphone-dev project is to create a free, portable, high quality toolchain to enable development for the Apple iPhone and other embedded devices based on the ARM/Darwin platform.

  • 该项目似乎没有从该站点进行常规开发或维护(例如,建立工具/可移植性的Wiki条目是从2010年2月开始). (4认同)
  • @先生.F,确实已经死了. (4认同)

dlj*_*ava 13

关于替代工具链,Saurik的网站非常有用,但是对于最新的固件开发,他指出在iPhone本身上构建并且没有表明您可能需要将必要的iPhone固件文件复制到Linux环境中.这并非不可能,但只需要额外的工作,特别是对于代码签名(还有开放的替代解决方案).

另外,看看其他指南(对于相同的工具链)更有条理地接近它.

我建议仍然在XCode中进行最终构建和代码签名和打包(这可能意味着借用某人的Mac),以防在向Apple提交应用程序时遇到问题.使用替代工具链(至少在Mac上)可以使用除XCode之外的其他IDE来开发应用程序,并再次使用XCode进行部署和模拟器测试.

当然,如果您从XCode之外的命令行获得代码签名/证书生成,那么您可以在您的实际iPhone上安装证书并在那里进行测试(通过带有您的证书的iTunes安装应用程序).


Kei*_*der 7

我知道在Linux上为iPhone开发的唯一方法是安装Vmware并努力让OS X在虚拟机中运行.据说这样做有一些"合法"的担忧.据报道,OS X Server可以虚拟化,但就我不知道的开发故事而言.

如果你真的很认真,那就是我要调查的内容.

祝好运.

  • @Parand当然它在2M ram上会变慢,我甚至对靴子感到惊讶! (5认同)
  • 我尝试过VMWare选项,至少在我的硬件上(T5200 Core2,2M ram),它的速度非常慢.我的朋友有类似的经历. (4认同)
  • 我也是.慢,慢,慢.你甚至不想尝试. (3认同)
  • 您可能想尝试VirtualBox而不是vmware.在我看来,VMWare过于臃肿. (2认同)

小智 5

您可以使用Tersus(开源),它允许您将应用程序导出为Xcode项目.


ian*_*lly 5

您可以在Linux机器上编写代码,最终将自己发现在iPhone或iPad上,但最终您需要使用Mac来测试或部署代码到iPhone或将其提交到App Store.所以最终你需要一台Mac,所以你也可以使用Apple提供的所有工具来完成Mac上的工作.还有Xcode和Objective-C的替代品,例如Monotouch - 但它们也使用Apple工具.

您可以通过一些工作在Linux上的VM中运行OS X. 但是我应该指出,即使您购买了OSX的副本,这也将打破OSX许可协议 - 因为它只被授权在Apple硬件上运行.

很抱歉给你这个消息 - 围绕iPhone/iPad的生态系统受到严格控制.

编辑:一个主要的例外是为iPhone编写一个Web应用程序.iPhone有一些优秀的网络应用程序,几乎与原生应用程序的用户体验一样好.但是,我确实将您的问题解释为本机应用程序开发.Web应用程序,虽然用户可以创建一个图标来启动它们 - 仍然是"二等"公民.

  • 虽然如果你在Mac上运行Linux,可能允许在虚拟化中运行Lion. (4认同)

Rog*_*ays 5

我已经使用cjacker 的 iOS clang 工具链成功在 Linux 上构建了 iOS 应用程序。基本上它由来自 Linux 发行版的上游 clang 和 llvm 工具、苹果链接器的 Linux 端口以及一些有助于简化构建过程的额外工具(例如将 xcode 项目转换为 Makefile 格式)组成。

安装确实需要几个步骤,但您是软件开发人员,所以您会习惯的。我在线发布了 Debian 7 (Wheezy) 的最新操作方法:

https://rogerkeays.com/how-to-build-an-ios-toolchain-for-linux-debian-7

否则你想使用有点旧的通用说明:

http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en

祝你好运。