我听说如果你想开发iPhone应用程序,你需要一台Mac电脑。这是真的吗?

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


当前回答

你说得对,非越狱手机仅限于苹果应用商店,苹果“有权”执行任何规则,这完全是非自由领域。 然而,在开发过程中,开发者根本不需要与苹果打交道。您可以使用例如rsync将代码上传到设备并进行测试。

其他回答

我建议使用mac,因为ios模拟器非常适合在应用的早期阶段进行测试。但我知道有一家与我们合作的小公司使用Unity进行开发,所以他们不需要大量的mac。这样,他们只需要一个mac的办公室,这只是编译最终版本。这也意味着它适用于android,但这取决于你的建筑,因为它是一个游戏引擎。你可能想要使用像Sencha Touch Mobile这样的框架来研究web应用

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

在某种程度上,是的,这是可能的。你可以输入Objective-C代码并设置你的项目。您甚至可以使用gcc测试代码的C和c++部分。

你不能做的:

使用界面生成器来设置你的界面,因为它是mac专用的。(不是必需的,但推荐) 编译使用苹果Cocoa类的代码——它们在Linux上不存在。 在模拟器中测试代码——Linux中没有。 为真实设备或应用商店编译代码——所有这些都需要苹果只为OS X提供的工具。

你可能能够在Linux机器上编写代码,最终会在iPhone或iPad上运行,但最终你需要一台Mac来测试或将代码部署到iPhone或提交到应用程序商店。所以最终你还是需要一台Mac电脑,所以你也可以用苹果提供的所有工具在Mac电脑上工作。除了Xcode和Objective-C,还有其他选择,比如Monotouch——但这些也利用了苹果的工具。

你可以在Linux上的虚拟机上运行OS X。然而,我应该指出,这将打破OSX许可协议,即使你购买了OSX的副本-因为它只被授权在苹果硬件上运行。

很抱歉告诉你这个消息——围绕iPhone/iPad的生态系统是被严格控制的。

编辑:一个主要的例外是为iPhone编写web应用程序。iPhone上有一些优秀的网页应用,它们的用户体验几乎和原生应用一样好。但是我把你的问题理解为原生应用开发。尽管用户可以创建一个图标来启动Web应用程序,但它们仍然是“二等”公民。

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

这实际上让我很惊讶,但我一点问题都没有。

你可以使用Tersus(开源),它允许你将应用导出为Xcode项目。