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

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

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

为了提供不同的响应,我在Linux上的虚拟化(VMware)机器上运行OS X和Xcode。 CPU是Core2Quad(Q8800),而且速度非常快。 我在网上find了一个预制的虚拟机(我将留给你找)Xcode / iPhone的开发完美的工作,通过USBdebugging手机本身。

这实际上让我感到惊讶 – 但我根本没有问题。

这个答案真的取决于你是否想开发应用程序,然后通过iPhone商店分发。 如果你不这样做,也不介意为“越狱”的iPhone人群开发,那么可以从Linux开发。

查看这个章节的页面,find一个全面的指导(如果有点复杂的话):

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

到目前为止似乎是真的。 唯一可用的Apple SDK只针对MacOS环境。 我一直对此感到不安,但我现在正在考虑购买一台Mac,只是为了开发iPhone。 我真的不喜欢他们在做什么,我希望有一个好的SDK可以用于其他环境,比如Linux和Windows。

这里有一篇关于他们关于SDK的一般不愉快的文章:

iPhone SDK和免费软件:不匹配

苹果最近为iPhone发布了一个软件开发工具包(SDK),但是如果你希望用它来移植或开发原始的开源软件,那么这个消息并不好。 代码签名和非公开条件使得免费软件成为不可行的代码。

SDK本身是一个免费下载,您可以编写程序并在软件模拟器上运行它们。 但是为了真正发布你所写的软件,你必须注册iPhone开发者计划 – 这是与下载SDK不同的一个步骤,也是一个需要得到苹果公司批准的步骤。

我认为他们认为只有macos用户能够为他们的手机编写程序才是最好的select,而且如果你想发布你的东西,你需要购买100美元的许可证,真的使得爱好者程序员变得更加困难。 但是,如果这就是你需要做的,我正在计划跳过他们的篮球。 我真的想得到一些在我的iPhone上开发的东西。

曾经有一个专门解决这个缺陷的项目: iphone-dev

iphone-dev项目的目标是创build一个免费的,便携的,高质量的工具链,以支持基于ARM / Darwin平台的Apple iPhone和其他embedded式设备的开发。

关于另一个工具链,Saurik的网站是有用的,但是对于最新的固件开发,他指出build立在iPhone本身,并保持清楚表明,您可能需要将必要的iPhone固件文件复制到您的Linux环境。 这不是不可能的,但只需要额外的工作,特别是对代码进行签名(也有开放的替代解决scheme)。

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

如果在向Apple提交应用程序时遇到问题,我build议仍然在XCode(可能意味着借用某人的Mac)进行最终构build和代码签名和打包。 使用另一个工具链打开(至less在Mac上)使用XCode以外的其他IDE开发应用程序的可能性,并再次使用XCode进行模拟器的部署和testing。

当然,如果你从XCode以外的命令行获得代码签名/证书生成,那么你可以在你的iPhone上安装一个证书并在那里testing(通过iTunes来安装应用程序)。

我知道在Linux上为iPhone开发的唯一方法是安装Vmware,并努力使OS X在虚拟机中运行。 说这样做有一些“法律”的关注。 据悉,OS X服务器可以虚拟化,但据我所知,这个发展故事。

如果你真的认真,那就是我所要调查的。

祝你好运。

您可能可以在Linux机器上编写代码,最终在iPhone或iPad上find自己的代码,但最终您需要使用Mac来testing代码或将代码部署到iPhone或将代码提交给App Store。 所以最终你需要一台苹果机,所以你也可以用苹果提供的所有工具来完成Mac上的工作。 有Xcode和Objective-C的替代品,如Monotouch – 但是这些也使用苹果的工具。

你可以通过一些工作在Linux上的VM上运行OS X。 不过,我要指出的是,即使您购买了OSX的副本,它也将打破OSX许可协议,因为它只能在苹果的硬件上运行。

对不起,给你这个消息 – 围绕iPhone / iPad的生态系统是非常严格的控制。

编辑:这是一个主要的例外是为iPhone写一个Web应用程序。 有一些优秀的iPhone的networking应用程序,几乎像原生应用程序的用户体验一样好。 不过,我的解释是你的问题是关于本地应用程序开发。 networking应用程序,尽pipe用户可以创build一个图标启动它们 – 仍然是“二等”公民。

你可以使用Tersus (开源),它可以让你导出应用程序作为Xcode项目。

有一个叫做Rhodes的框架。

这个概念是基于Ruby on Rails的,您可以使用Ruby和HTML开发移动应用程序,并且可以在Linux环境中编写代码。 然后,您可以在Rhohub上创build一个帐户,在那里添加代码(通过GitHub ),它允许您为iPhone,黑莓,Android,Windows Mobile和Symbian编译所有的代码。 您不必在iPhone的Objective-C中编写代码,也不需要在Android中编写Java代码等。它为您完成转换。 所有你需要做的就是坚持创build一个iPhone应用程序的规则(或你想开发的手机),以便它可以在iTunes(或等同的市场)被接受。

这将允许您将该应用程序添加到iTunes。

我还没有find任何模拟器,这意味着要testing你的应用程序,你需要把它放在iPhone上,这是一个使命。

我正在使用这个选项,因为我想为所有手机创build应用程序,而且我已经使用了Ruby on Rails。 如果你只是想为iPhone制作一个应用程序,那么就投资一台Mac。

希望这可以帮助。

我已经成功地使用cjacker的iOS clang工具链在Linux上构buildiOS应用程序。 基本上,它包括Linux发行版中的上游clang和llvm工具,苹果链接器的linux端口以及一些用于简化构build过程(例如将xcode项目转换为Makefile格式)的额外工具。

安装需要几个步骤,但是你是一个软件开发人员,所以你会习惯的。 我在网上发布了最新的Debian 7(Wheezy)的使用方法:

http://www.ninthavenue.com.au/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

祝你好运。

你是对的非越狱手机仅限于苹果的应用程序商店和苹果“有权”执行任何规则,这是完全非自由的领土。 然而,在发展的同时,根本不需要和苹果打交道。 您可以使用例如rsync将代码上传到设备并对其进行testing。

在一定程度上,是的,这是可能的。 您可以键入Objective-C代码并设置您的项目。 你甚至可以用gcc来testing你的代码的C和C ++部分。

你不能做什么:

  • 使用Interface Builder来设置您的界面,因为它只有Mac。 (不需要,但build议。)
  • 编译使用Apple Cocoa类的代码 – 它们在Linux上不存在。
  • 在模拟器中testing代码 – Linux没有一个代码。
  • 编译真实设备或App Store的代码 – 所有这些都需要Apple只为OS X提供的工具。

你需要得到它的Mac。 有几个工具链可用(如赢链),实际上可以让你在Windows上编写和创build我的手机应用程序。 有几个相关的教程在Windows上构buildObjective C代码。 但有一个问题,所开发的应用程序将只能在Jail破坏我的手机上工作。

我们已经看到了一些窍门,并将其交给App Store,但随着Apple不断更新SDK,工具链需要定期更新。 如果你想准备好应用程序,你也可以从arcapps的帮助下,以合理的价格推出应用程序。 iphone应用程序开发

我尝试将cocos2d-iphone移植到GNUstep,以便您可以开发基于cocos2d的游戏。 但是对于发布你需要一个mac。 cocos2d-GNUstep 。

我会build议得到一个mac,因为ios模拟器是惊人的应用程序的早期阶段进行testing。 但是我知道我们使用Unity开发的一家小公司,所以他们不需要大量的Mac。 这样他们只需要一个办公室的mac,这只是为了编译最终的构build。 这也意味着它在Android上工作,但它真的取决于你的build筑,因为它是一个游戏引擎。 您可能需要使用Sencha Touch Mobile等框架来查看networking应用程序

Unity: http : //unity3d.com/ Sencha Touch: http : //www.sencha.com/products/touch/

如果你珍惜你的时间,买一台Mac! 我不太了解Linux开发选项,以提供一个可行的解决scheme,但似乎提出的方法涉及一些漂亮的迂回工作。 如果您打算认真编写和销售iPhone应用程序,我认为您可以轻松收回Mac Mini或Macbook的成本。 🙂

如果不是使用Xcode开发的,您将永远无法获得Apple批准的应用程序。 决不。 如果你确实在Linux上开发了SDK并且苹果发现了,那么当你服务的时候不要感到惊讶。 我是ADC和iPhone开发者计划的成员。 信任,苹果对此非常认真。

不要冒险,购买Macbook或Mac mini(是的,一个迷你可以运行Xcode – 尽pipe缓慢 – 如果你迷你的话,可以提升内存)。 另外,虽然我看到OS X被黑客攻击在VMware上运行,但我从来没有见过任何人在VM上运行Xcode。 祝你好运。 在经历麻烦之前,我会检查EULA。

PS:在阅读上述内容之后,是的,我同意如果你确实在Linux上进行了破解并且在Linux上进行开发,那么至less在Mac上做最后的打包。 并通过Mac提交。 苹果没有通过代码行逐行,所以我怀疑他们会赶上。 但是,男人,这是很多如果和工作。 尽pipe乐趣。 🙂