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

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


当前回答

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

你不能做的:

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

其他回答

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

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

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

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

你不能做的:

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

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

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

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

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

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

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

我所知道的在iPhone Linux上进行开发的唯一方法是安装Vmware,并在虚拟机中运行OS X。尽管如此,这样做还是有一些“法律”问题。据报道,OS X服务器可以虚拟化,但就开发故事而言,我不知道。

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

祝你好运。