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

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


当前回答

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

其他回答

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

它确实需要几个步骤来安装,但你是一个软件开发人员,所以你应该习惯了。我在网上发布了Debian 7 (Wheezy)的最新howto:

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

祝你好运。

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

iPhone开发项目的目标是创建一个免费的、可移植的、高质量的工具链,以支持苹果iPhone和其他基于ARM/Darwin平台的嵌入式设备的开发。

如果你珍惜你的时间,买一台Mac吧!我对Linux开发选项的了解还不够多,无法提供一个可行的解决方案,但似乎建议的方法涉及一些相当迂回的工作。如果你打算认真编写和销售iPhone应用程序,我认为你可以很容易地收回购买Mac Mini或Macbook的成本。: -)

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

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

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