我听说如果要开发iPhone应用程序,则需要购买Mac。这是真的?
是否可以使用Linux开发iPhone应用程序?如果是,我需要什么?在哪里可以下载必要的工具?
我听说如果要开发iPhone应用程序,则需要购买Mac。这是真的?
是否可以使用Linux开发iPhone应用程序?如果是,我需要什么?在哪里可以下载必要的工具?
Answers:
为了提供不同的响应,我在Linux上的虚拟化(VMware)机器上运行OS X和Xcode。CPU是Core2Quad(Q8800),并且速度非常快。我在线找到了一个预构建的VM(我将留给您查找),Xcode / iPhone开发非常完美,通过USB调试到手机本身也很完美。
实际上,这让我感到非常惊讶-但我一点都没有问题。
答案实际上取决于您是否要开发然后通过iPhone商店分发的应用程序。如果您不这样做,并且不介意为“越狱”的iPhone人群开发产品,那么就有可能从Linux进行开发。
请查看本章的页面,以获取有关操作的综合指南(如果有些复杂的话):
到目前为止,这似乎是正确的。Apple提供的唯一SDK仅针对MacOS环境。我对此感到不安,但我现在正在考虑购买Mac,只是为了进行iPhone开发。我真的不喜欢他们在做什么,我希望有一个好的SDK可以用于其他环境,例如Linux和Windows。
有关SDK的障碍:
iPhone SDK和免费软件:不匹配
苹果公司最近发布了用于iPhone的软件开发工具包(SDK),但是如果您希望使用它移植或开发原始的开源软件,那么消息就不好了。代码签名和保密条件使自由软件无法使用。
SDK本身是免费下载的软件,您可以使用它编写程序并在软件模拟器上运行它们。但是,要实际发布您编写的软件,您必须注册iPhone开发人员计划-这与下载SDK分开,而且需要获得Apple批准。
我认为他们认为只有macOS用户才足以为他们的手机编写程序,这对他们来说是相当精英的,而且如果您想发布自己的东西就需要购买100美元的许可证,这实际上使业余程序员更加困难。但是,如果那是您需要做的,我正计划跳过他们的篮球。我真的很想在我的iPhone上开发一些东西。
有曾经是一个致力于解决这一缺陷项目:iphone-dev的
iphone-dev项目的目标是创建一个免费,便携式,高质量的工具链,以支持Apple iPhone和其他基于ARM / Darwin平台的嵌入式设备的开发。
关于备用工具链,Saurik的站点很有用,但对于最新的固件开发,他指出要在iPhone本身上构建,并避免表明您可能需要将必要的iPhone固件文件复制到Linux环境中。这不是不可能的,但是只需要额外的工作,尤其是对代码签名(也存在开放的替代解决方案)。
另外,请参阅其他指南(针对同一工具链),该指南更加有条理。
我建议仍然在XCode中进行最终的构建,代码签名和打包(这可能意味着借用Mac),以防在将应用程序提交给Apple时遇到问题。使用替代工具链(至少在Mac上是这样)可以使用XCode以外的其他IDE来开发应用程序,并再次诉诸XCode进行模拟器的部署和测试。
当然,如果您确实从XCode外部的命令行获得了代码签名/证书生成的功能,则可以在实际的iPhone上安装证书并在那里进行测试(通过带证书的iTunes安装应用程序)。
我知道在Linux下为iPhone进行开发的唯一方法是安装Vmware并致力于使OS X在虚拟机上运行。话虽这么说,这样做还是有一些“法律上的”顾虑。据报道,OS X Server可以被虚拟化,但是据我所不了解的开发故事。
如果您真的很认真,那就是我要调查的内容。
祝好运。
您也许可以在Linux盒子上编写代码,最终在iPhone或iPad上找到自己的代码,但是最终您将需要Mac来测试代码或将代码部署到iPhone或提交给App Store。因此,最终您需要一台Mac,因此您也可以使用Apple提供的所有工具在Mac上进行工作。Xcode和Objective-C还有其他替代品,例如Monotouch-但它们也利用Apple工具。
您可以通过一些工作在Linux上的VM中运行OSX。但是,我要指出的是,即使您购买了OSX的副本,这也会破坏OSX许可协议-因为它仅被许可在Apple硬件上运行。
很抱歉给您这个消息-iPhone / iPad周围的生态系统受到严格控制。
编辑:对此的一个主要例外是为iPhone编写了一个Web应用程序。iPhone有一些出色的Web应用程序,它们的用户体验几乎与本机应用程序一样好。但是,我确实将您的问题解释为与本机应用程序开发有关。Web应用程序尽管用户可以创建一个图标来启动它们,但仍然是“二等”公民。
我已经成功使用cjacker的iOS clang工具链在Linux上构建iOS应用。基本上,它由Linux发行版中的上游clang和llvm工具,苹果的链接器的linux端口以及一些有助于简化构建过程(例如将xcode项目转换为Makefile格式)的其他工具组成。
安装确实需要几个步骤,但是您是软件开发人员,因此您会习惯于这样做。我在线发布了Debian 7(Wheezy)的最新howto:
http://www.ninthavenue.com.au/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
祝好运。
有一个叫做Rhodes的框架。
该概念基于Ruby on Rails,您可以使用Ruby和HTML开发移动应用程序,并且可以在Linux环境中编写代码。然后,您可以在Rhohub创建一个帐户,在其中添加代码(通过GitHub),并允许您针对iPhone,Blackberry,Android,Windows Mobile和Symbian对其进行编译,而无需使用相同的代码。您无需在iPhone的Objective-C中编写代码,也无需在Android的Java中编写代码等。它可以为您完成转换。您需要做的就是遵守创建iPhone应用程序(或您要开发的Phone)的规则,以便可以在iTunes(或等效的市场)上接受它。
这也将允许您将应用程序也添加到iTunes。
但是,我还没有找到任何模拟器,这意味着要测试您的应用程序,需要将其放在iPhone上,这是一个使命。
我正在使用此选项,因为我想为所有电话创建应用程序,并且已经使用Ruby on Rails。如果您只想为iPhone制作应用程序,请购买Mac。
希望这可以帮助。
是的,在一定程度上是可能的。您可以键入Objective-C代码并设置您的项目。您甚至可以使用gcc测试代码的C和C ++部分。
您不能做什么:
您需要获取Mac。实际上,有几种工具链(例如win链)可让您在Windows上编写和构建i Phone应用程序。有一些相关的教程可以在Windows上构建Objective C代码。但是有一个问题,因此开发的应用程序只能在“越狱”的i Phone上运行。
我们看到很少有黑客可以克服这些问题并将其发布到App Store,但是随着Apple不断更新SDK,工具链需要定期更新。一直很麻烦,如果要准备就绪的应用程序,还可以以合理的价格向arcapps的启动应用程序寻求帮助。 iPhone应用程序开发
我尝试将cocos2d-iphone移植到GNUstep,以便您可以基于cocos2d 开发游戏。但是,发布时需要Mac。cocos2d-GNUstep。
我建议您购买Mac,因为ios模拟器对于在应用程序的早期阶段进行测试来说非常棒。但是我确实知道我们合作的一家小公司使用Unity开发,因此他们不需要大量的mac。这样,他们只需要一台Mac办公用,这只是编译最终版本。这也意味着它可以在android上运行,但实际上取决于您的建筑物,因为它是游戏引擎。您可能想使用Sencha Touch Mobile等框架研究Web应用程序
Unity:http : //unity3d.com/ Sencha Touch:http : //www.sencha.com/products/touch/
如果您的应用程序不是使用Xcode开发的,则永远不会获得Apple的批准。决不。而且,如果您确实破解了要在Linux上开发的SDK,并且Apple知道了,当您获得服务时也不要感到惊讶。我是ADC和iPhone开发人员计划的成员。相信,苹果对此非常认真。
不要冒险,购买Macbook或Mac mini(是的,如果运行mini,则mini可以运行Xcode,尽管速度很慢,但可以提高RAM)。另外,虽然我看到OS X被黑客攻击可以在VMware上运行,但是我从未见过有人在VM上运行Xcode。祝你好运。在遇到麻烦之前,我会检查EULA。
PS:阅读以上内容后,是的,我同意如果您确实破解了SDK并在Linux上进行开发,至少要在Mac上进行最终打包。并通过Mac提交。苹果没有逐行运行代码,所以我怀疑他们会抓住这一点。但是,伙计,这是很多工作的基础。尽兴而为。:)