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

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


当前回答

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

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

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

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

其他回答

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

另外,看一看其他指南(对于相同的工具链),它们更有系统地处理它。

我建议还是在XCode中完成最终的构建、代码签名和打包(这可能意味着借用别人的Mac),以防你在向苹果提交应用程序时遇到问题。使用替代工具链打开了(至少在Mac上)使用XCode以外的其他ide开发应用程序的可能性,并再次使用XCode进行部署和模拟器测试。

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

我所知道的在iPhone Linux上进行开发的唯一方法是安装Vmware,并在虚拟机中运行OS X。尽管如此,这样做还是有一些“法律”问题。据报道,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调试到手机本身也是如此。

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

我曾尝试将cocos2d-iphone移植到GNUstep,这样你就可以基于cocos2d开发游戏了。但是对于发布,你需要一个mac. cocos2d-GNUstep。