我听说如果想开发iPhone应用程序,需要使用Mac电脑。这是真的吗?
是否可以在Linux上开发iPhone应用程序?如果肯定,我需要什么,以及在哪里下载必要的工具?
我听说如果想开发iPhone应用程序,需要使用Mac电脑。这是真的吗?
是否可以在Linux上开发iPhone应用程序?如果肯定,我需要什么,以及在哪里下载必要的工具?
这个问题的答案实际上取决于您是否希望开发的应用程序能够通过iPhone商店分发。如果您不想这样做,并且愿意为“越狱”的iPhone用户开发应用程序,那么可以在Linux上进行开发。
查看这个人的页面,他提供了一份综合性(尽管有点复杂)的指南,告诉您该怎么做:
目前看来好像是这样的。Apple唯一提供的SDK只针对macOS系统。我对此感到不满,但现在正在考虑购买Mac电脑进行iPhone开发。我真的不喜欢他们的做法,希望其他环境(如Linux和Windows)也能推出一个好的SDK。
关于SDK的障碍:
iPhone SDK和自由软件:不能共存
尽管苹果最近发布了适用于iPhone的软件开发工具包(SDK),但如果你想要使用它移植或开发原始的开源软件,那就很麻烦了。代码签名和保密条件使得自由软件无法实现。
SDK本身可以免费下载,你可以使用它编写程序并在软件模拟器上运行。但为了真正发布你编写的软件,你必须加入iPhone开发者计划——这是一个与下载SDK分开的步骤,并且需要获得苹果公司的批准。
我认为他们认为只有macOS用户才有能力为他们的手机编写程序是相当精英主义的,而且如果你想要发布你的作品,你需要购买一张价值100美元的许可证,这使得对于业余程序员来说更加困难。虽然如此,如果这是必需的,我计划跳过他们的障碍;我真的很想在我的iPhone上开发一些东西。
曾经有一个专门解决这个缺陷的项目:iphone-dev
iphone-dev项目的目标是创建一个免费、便携、高质量的工具链,以实现对苹果iPhone和其他基于ARM/Darwin平台的嵌入式设备进行开发。
关于替代工具链,Saurik的网站很有用,但对于最新的固件开发,他建议在iPhone上进行构建,并避免指示您可能需要将必要的iPhone固件文件复制到Linux环境中。这并非不可能,但需要额外的工作,特别是对于代码签名(也有其他开放式替代解决方案)。
另外,可以查看其他更系统化的指南(使用相同的工具链)。
我建议仍然在XCode中进行最终构建、代码签名和打包(这可能意味着借用别人的Mac),以防在提交应用程序给Apple时遇到问题。使用替代工具链(至少在Mac上)打开了使用其他IDE来开发应用程序的可能性,然后再借助XCode进行部署和模拟测试。
当然,如果您能够在XCode之外的命令行中使代码签名/证书生成正常工作,则可以在实际iPhone上安装证书并进行测试(通过iTunes使用您的证书安装应用程序)。
我所知道的在Linux上为iPhone进行开发的唯一方法就是安装Vmware,并在虚拟机中运行OS X。但需要注意的是,这样做存在一些“法律”问题。据报道,OS X Server可以虚拟化,但对于其开发情况我并不了解。
如果你真的很认真,那么这就是我会去研究的方向。
祝你好运。
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
祝你好运。