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

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


当前回答

如果你的应用不是用Xcode开发的,你就永远不会得到苹果的批准。从来没有。如果你真的入侵了SDK在Linux上开发,而苹果发现了,当你被服务时,不要感到惊讶。我是ADC和iPhone开发者计划的成员。相信我,苹果对此非常认真。

不要冒险,买一台Macbook或Mac mini(是的,mini可以运行Xcode -虽然很慢-如果你用mini的话,可以提高RAM)。此外,虽然我见过OS X在VMware上运行,但我从未见过有人在VM上运行Xcode。祝你好运。在你麻烦你之前,我会先看一下EULA。

PS:读完以上,是的,我同意,如果你真的入侵SDK并在Linux上开发,至少要在Mac上完成最终的打包,并通过Mac提交。苹果不会逐行运行代码,所以我怀疑他们会发现这一点。但是,伙计,那有很多如果和工作。尽管这样做很有趣。:)

其他回答

如果你的应用不是用Xcode开发的,你就永远不会得到苹果的批准。从来没有。如果你真的入侵了SDK在Linux上开发,而苹果发现了,当你被服务时,不要感到惊讶。我是ADC和iPhone开发者计划的成员。相信我,苹果对此非常认真。

不要冒险,买一台Macbook或Mac mini(是的,mini可以运行Xcode -虽然很慢-如果你用mini的话,可以提高RAM)。此外,虽然我见过OS X在VMware上运行,但我从未见过有人在VM上运行Xcode。祝你好运。在你麻烦你之前,我会先看一下EULA。

PS:读完以上,是的,我同意,如果你真的入侵SDK并在Linux上开发,至少要在Mac上完成最终的打包,并通过Mac提交。苹果不会逐行运行代码,所以我怀疑他们会发现这一点。但是,伙计,那有很多如果和工作。尽管这样做很有趣。:)

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

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

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

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

我曾经成功地使用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平台的嵌入式设备的开发。

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