首页 文章

在Linux中启动iPhone应用程序开发? [关闭]

提问于
浏览
499

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

是否可以使用Linux开发iPhone应用程序?如果是,我需要什么以及在哪里下载必要的工具?

17 回答

  • 12

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

    它实际上让我感到很惊讶 - 但我根本没有任何问题 .

  • -4

    这个问题的答案实际上取决于您是否想要开发通过iPhone商店分发的应用程序 . 如果你不这样做,并且不介意为“越狱”的iPhone人群开发 - 那么就可以从Linux开发 .

    查看本章的页面,了解有关如何操作的全面(如果有点复杂)指南:

    http://www.saurik.com/id/4

  • 3

    到目前为止似乎是真的 . Apple提供的唯一SDK仅针对MacOS环境 . 我一直对此感到不安,但我现在正在考虑购买一台Mac,只是为了开发iPhone . 我真的不喜欢他们正在做的事情,我希望为其他环境(如Linux和Windows)提供一个好的SDK .

    这是一篇关于他们关于SDK的一般情况的文章:

    iPhone SDK和免费软件:不匹配Apple最近发布的iPhone软件开发套件(SDK),但如果你希望用它移植或开发原创的开源软件,新闻就不好了 . 代码签名和不公开条件使自由软件无法使用 . SDK本身是免费下载的,您可以使用它来编写程序并在软件模拟器上运行它们 . 但是,为了实际发布您编写的软件,您必须注册iPhone开发人员计划 - 与下载SDK分开的步骤,以及需要Apple批准的步骤 .

    我认为他们认为只有macos用户才能为他们的手机编写程序,并且如果你想发布你的东西需要购买100美元的许可证,这对于业余爱好者程序员来说更加困难 . 但是,如果这就是你需要做的事情,我打算跳过他们的篮球;我真的很想在我的iPhone上开发一些东西 .

  • 24

    曾经有一个致力于解决这个缺陷的项目:iphone-dev

    iphone-dev项目的目标是创建一个免费的,可移植的,高质量的工具链,以便为基于ARM / Darwin平台的Apple iPhone和其他嵌入式设备进行开发 .

  • 1

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

    另外,看看其他指南(对于同一工具链)更有条理地接近它 .

    我建议仍然在XCode中进行最终构建和代码签名和打包(这可能意味着借用某人的Mac),以防在向Apple提交应用程序时遇到问题 . 使用替代工具链(至少在Mac上)可以使用除XCode之外的其他IDE来开发应用程序,并再次使用XCode进行部署和模拟器测试 .

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

  • 5

    我知道在Linux上为iPhone开发的唯一方法是安装Vmware并努力让OS X在虚拟机中运行 . 据说这样做有一些“合法”的担忧 . 据报道,OS X Server可以虚拟化,但就我不知道的开发故事而言 .

    如果你真的很认真,那就是我要调查的内容 .

    祝好运 .

  • 285

    您可以使用Tersus(开源),它允许您将应用程序导出为Xcode项目 .

  • 7

    您可能能够在Linux机器上编写最终会在iPhone或iPad上找到自己的代码,但最终您需要使用Mac来测试代码或将代码部署到iPhone或将其提交到App Store . 所以最终你需要一台Mac,所以你也可以使用Apple提供的所有工具来完成Mac上的工作 . 还有Xcode和Objective-C的替代品,例如Monotouch - 但它们也使用Apple工具 .

    您可以通过一些工作在Linux上的VM中运行OS X.但是我应该指出,即使您购买了OSX的副本,这也将打破OSX许可协议 - 因为它只被授权运行Apple硬件 .

    很抱歉给你这个消息 - 围绕iPhone / iPad的生态系统受到严格控制 .

    编辑:一个主要的例外是为iPhone编写一个Web应用程序 . iPhone有一些优秀的网络应用程序,几乎与原生应用程序的用户体验一样好 . 但是,我确实将您的问题解释为本机应用程序开发 . Web应用程序,虽然用户可以创建一个图标来启动它们 - 仍然是“二等”公民 .

  • 5

    有一个名为Rhodes的框架 .

    该概念基于Ruby on Rails,您可以使用Ruby和HTML开发移动应用程序,并且可以在Linux环境中编写代码 . 然后,您可以在Rhohub创建一个帐户,在那里添加代码(通过GitHub),它允许您为iPhone,Blackberry,Android,Windows Mobile和Symbian编译它们,所有代码都是相同的 . 你不想开发它,因此可以在iTunes(或同等市场)上接受它 .

    这样您就可以将应用程序添加到iTunes .

    但是,我没有找到任何模拟器,这意味着要测试你的应用程序,你需要把它放在iPhone上,这是一个任务 .

    我正在使用此选项,因为我想为所有手机创建应用程序,我已经使用Ruby on Rails . 如果您只想为iPhone制作应用程序,那么请投资购买Mac .

    希望这可以帮助 .

  • 1

    我已经成功使用iOS clang toolchain by cjacker在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

    祝好运 .

  • -5

    你是对的非越狱手机仅限于Apple的App商店,Apple“有权”执行任何规则,它是完全无法自由的领域 . 然而,在开发过程中,根本不需要与Apple打交道 . 你可以用例如rsync将代码上传到设备并进行测试 .

  • 20

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

    你不能做什么:

    • 使用Interface Builder设置界面,因为它只适用于Mac . (不是必需的,但建议使用 . )

    • 在Linux上存在使用Apple 's Cocoa classes - they don'的编译代码 .

    • 模拟器中的测试代码 - 没有适用于Linux的代码 .

    • 为真实设备或App Store编译代码 - 所有这些都需要Apple仅为OS X提供的工具 .

  • 1

    你需要得到它的mac . 有几个可用的工具链(如win-chain)实际上允许您在Windows上编写和构建i Phone应用程序 . 有几个相关的教程可以在Windows上构建Objective C代码 . 但是有一个问题,因此开发的应用程序只适用于Jail broken i Phones .

    我们已经看到很少有黑客可以克服这个问题并将其转移到App Store,但随着Apple不断更新SDK,工具链需要定期更新 . 如果你想要准备好应用程序,那么你也可以以合理的价格从arcapps的启动应用程序中获得帮助,这是一件麻烦事 . iphone app development

  • 75

    我尝试将cocos2d-iphone移植到GNUstep,以便您可以基于cocos2d开发游戏 . 但是对于发布,你需要一个mac . cocos2d-GNUstep .

  • 0

    我建议使用mac,因为ios模拟器在应用程序的早期阶段测试非常棒 . 但我确实知道我们合作的一家小公司使用Unity开发,因此他们不需要大量的mac . 这样他们只需要一个办公室的mac,这只是为了编译最终版本 . 这也意味着它适用于Android,但它实际上取决于你的建筑,因为它是一个游戏引擎 . 您可能希望使用Sencha Touch Mobile等框架来查看Web应用程序

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

  • 3

    如果你珍惜时间,买一台Mac吧!我不太了解Linux开发选项以提供可行的解决方案,但似乎所提出的方法涉及一些非常迂回的工作 . 如果您打算认真编写和销售iPhone应用程序,我认为您可以轻松收回Mac Mini或Macbook的成本 . :-)

  • 1

    如果不使用Xcode开发,您将永远不会获得Apple批准的应用程序 . 决不 . 如果你确实破解SDK在Linux上开发并且Apple发现了,那么当你获得服务时不要感到惊讶 . 我是ADC和iPhone开发人员计划的成员 . 相信,Apple对此非常认真 .

    不要冒风险,购买Macbook或Mac mini(是的,迷你可以运行Xcode - 虽然慢慢 - 如果你使用迷你提升RAM) . 此外,虽然我已经看到OS X被黑客在VMware上运行但我从未见过有人在VM上运行Xcode . 祝你好运 . 我会检查在你遇到麻烦之前的EULA .

    PS:看完上面的内容,是的我同意如果你破解SDK并在Linux上开发至少在Mac上进行最终打包 . 并通过Mac提交 . Apple没有逐行运行代码,所以我怀疑他们会 grab 它 . 但是,男人,这是很多,如果和工作 . 尽管很有趣 . :)

相关问题