在 Linux 上开始 iPhone 应用程序开发?[关闭]
- 2024-10-09 09:10:00
- admin 原创
- 84
问题描述:
我听说如果你想开发 iPhone 应用程序,你需要一台 Mac。这是真的吗?
是否可以使用 Linux 开发 iPhone 应用程序?如果可以,我需要什么?在哪里可以下载必要的工具?
解决方案 1:
为了提供不同的响应,我在 Linux 上的虚拟化 (VMware) 机器上运行 OS X 和 Xcode。CPU 是 Core2Quad (Q8800),速度非常快。我在网上找到了一个预建的 VM(我留给你去找)Xcode/iPhone 开发运行完美,通过 USB 调试手机本身也是如此。
这确实让我非常惊讶 - 但我并没有遇到任何问题。
解决方案 2:
这个问题的答案实际上取决于您是否想开发通过 iPhone 商店分发的应用程序。如果您不想,并且不介意为“越狱”的 iPhone 用户开发应用程序 - 那么可以从 Linux 进行开发。
查看此章的页面,获得全面(虽然有点复杂)的指南,了解如何操作:
解决方案 3:
到目前为止,这似乎是真的。Apple 提供的唯一 SDK 仅针对 macOS 环境。我对此感到不满,但现在我正在考虑购买一台 Mac,只用于进行 iPhone 开发。我真的不喜欢他们正在做的事情,我希望能够为其他环境(例如 Linux 和 Windows)推出一个好的 SDK。
与 SDK 相关的障碍:
iPhone SDK 和免费软件:不相上下
Apple 最近发布了 iPhone 软件开发工具包 (SDK),但如果你想用它来移植或开发原创开源软件,那么这可不是什么好消息。代码签名和保密条件使得免费软件无法使用。
SDK 本身是免费下载的,你可以用它编写程序并在软件模拟器上运行它们。但为了真正发布你编写的软件,你必须注册 iPhone 开发者计划——这是与下载 SDK 分开的步骤,并且需要 Apple 的批准。
我认为他们认为只有 macOS 用户才有资格为他们的手机编写程序,这种想法太过精英主义,而如果你想发布你的东西,就需要购买 100 美元的许可证,这确实让业余程序员的工作变得更加困难。不过,如果你需要这样做,我打算跳过他们的障碍;我真的很想在我的 iPhone 上开发一些东西。
解决方案 4:
曾经有一个项目专门解决这个缺陷:iphone-dev
iphone-dev 项目的目标是创建一个免费、可移植、高质量的工具链,以便基于 ARM/Darwin 平台开发 Apple iPhone 和其他嵌入式设备。
解决方案 5:
关于替代工具链,Saurik 的网站很有用,但对于最新固件开发,他指出要在 iPhone 本身上进行构建,并明确表示您可能需要将必要的 iPhone 固件文件复制到 Linux 环境中。这并非不可能,只是需要额外的工作,尤其是对代码进行签名(也有开放的替代解决方案)。
另外,请查看其他指南(针对相同的工具链),以更有条理的方式进行处理。
我建议仍然在 XCode 中进行最终构建和代码签名以及打包(这可能意味着借用某人的 Mac),以防您在向 Apple 提交应用程序时遇到问题。使用替代工具链(至少在 Mac 上)可以打开使用除 XCode 之外的其他 IDE 开发应用程序的可能性,并再次使用 XCode 进行部署和使用模拟器进行测试。
当然,如果您确实从 XCode 之外的命令行获得代码签名/证书生成,那么您可以在实际的 iPhone 上安装证书并在那里进行测试(通过 iTunes 使用您的证书安装应用程序)。
解决方案 6:
据我所知,在 Linux 上开发 iPhone 的唯一方法是安装 Vmware,然后在虚拟机中运行 OS X。话虽如此,这样做还是存在一些“法律”问题。据报道,OS X Server 可以虚拟化,但就其开发情况而言,我并不清楚。
如果你真的是认真的,那就是我要调查的。
祝你好运。
解决方案 7:
您可以使用Tersus(开源),它允许您将应用程序导出为 Xcode 项目。
解决方案 8:
您可能能够在 Linux 机器上编写代码,这些代码最终会出现在 iPhone 或 iPad 上,但最终您需要一台 Mac 来测试或将代码部署到 iPhone 或提交到 App Store。因此最终您需要一台 Mac,因此您也可以在 Mac 上完成工作,使用 Apple 提供的所有工具。Xcode 和 Objective-C 还有其他替代品,例如 Monotouch - 但它们也使用 Apple 工具。
您可以在 Linux 上的 VM 中运行 OS X,但需要做一些工作。不过我要指出的是,这会破坏 OSX 许可协议,即使您购买了 OSX 副本也是如此 - 因为它仅被授权在 Apple 硬件上运行。
很遗憾地告诉你这个消息——iPhone/iPad 周围的生态系统受到非常严格的控制。
编辑:一个主要的例外是为 iPhone 编写 Web 应用程序。有一些出色的 iPhone Web 应用程序,它们的用户体验几乎与原生应用程序一样好。但是我确实将您的问题解释为有关原生应用程序开发。尽管用户可以创建图标来启动 Web 应用程序,但它们仍然是“二等”公民。
解决方案 9:
我已成功使用cjacker 的 iOS clang 工具链在 Linux 上构建 iOS 应用程序。基本上,它由 Linux 发行版中的上游 clang 和 llvm 工具、Apple 链接器的 Linux 端口以及一些额外的工具组成,以帮助简化构建过程(例如将 xcode 项目转换为 Makefile 格式)。
安装确实需要几个步骤,但如果你是一名软件开发人员,那么你应该已经习惯了。我在网上发布了最新的 Debian 7 (Wheezy) 操作指南:
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
祝你好运。
解决方案 10:
有一个名为Rhodes 的框架。
这个概念基于 Ruby on Rails,您可以使用 Ruby 和 HTML 开发移动应用程序,并且可以在 Linux 环境中编写代码。然后,您可以在Rhohub创建一个帐户,在其中添加代码(通过GitHub),它允许您为 iPhone、Blackberry、Android、Windows Mobile 和 Symbian 编译它,所有这些都基于相同的代码。您不必为 iPhone 编写 Objective-C 代码,也不必为 Android 编写 Java 代码等。它会为您完成转换。您需要做的就是遵守创建 iPhone 应用程序(或您想要开发的手机)的规则,这样它就可以在 iTunes(或同等市场)上被接受。
这也将允许您将该应用程序添加到 iTunes。
但是,我还没有找到任何模拟器,这意味着要测试你的应用程序,你需要将它放在 iPhone 上,这是一项任务。
我选择此选项是因为我想为所有手机创建应用程序,而且我已经使用 Ruby on Rails。如果您只想为 iPhone 制作应用程序,那么请投资购买 Mac。
希望这有帮助。
解决方案 11:
您说得对,未越狱的手机仅限于 Apple 的应用商店,Apple“有权”执行任何规则,这是完全不自由的领域。然而,在开发过程中,您根本不需要与 Apple 打交道。您可以使用 rsync 等将代码上传到设备并进行测试。
解决方案 12:
在一定程度上,是的,这是可能的。您可以输入 Objective-C 代码并设置您的项目。您甚至可以使用 gcc 测试代码的 C 和 C++ 部分。
您不能做的事情:
使用 Interface Builder 设置界面,因为它仅适用于 Mac。(不是必需的,但建议使用。)
编译使用 Apple 的 Cocoa 类的代码 - 它们在 Linux 上不存在。
模拟器中的测试代码-没有适用于Linux的代码。
为真实设备或 App Store 编译代码 - 所有这些都需要 Apple 仅为 OS X 提供的工具。
解决方案 13:
您需要获得 Mac 才能使用它。有几种可用的工具链(如 win-chain),实际上可以让您在 Windows 上编写和构建 iPhone 应用程序。有几种相关教程可用于在 Windows 上构建 Objective C 代码。但有一个问题,这样开发的应用程序只能在 Jail 损坏的 iPhone 上运行。
我们看到了一些可以解决这个问题并进入 App Store 的技巧,但随着 Apple 不断更新 SDK,工具链需要定期更新。一直更新很麻烦。如果你想准备好应用程序,你也可以从 arcapps 寻求帮助,它以合理的价格推出应用程序。iPhone
应用程序开发
解决方案 14:
我尝试将 cocos2d-iphone 移植到 GNUstep,以便您可以基于 cocos2d开发游戏。但是要发布,您需要一台 mac。cocos2d -GNUstep。
解决方案 15:
我建议买一台 Mac,因为 iOS 模拟器非常适合在应用程序的早期阶段进行测试。但我知道我们合作的一家小公司使用 Unity 进行开发,所以他们不需要很多 Mac。这样他们只需要一台 Mac 用于办公室,而这只是为了编译最终版本。这也意味着它可以在 Android 上运行,但这实际上取决于你的构建,因为它是一个游戏引擎。你可能想研究使用 Sencha Touch Mobile 等框架的 Web 应用程序
Unity:http: //unity3d.com/
Sencha Touch: http: //www.sencha.com/products/touch/
解决方案 16:
如果你珍惜时间,那就买一台 Mac 吧!我对 Linux 开发选项了解不够多,无法提供可行的解决方案,但似乎建议的方法涉及一些相当迂回的工作。如果你打算认真编写和销售 iPhone 应用程序,我认为你可以轻松收回 Mac Mini 或 Macbook 的成本。:-)
解决方案 17:
如果您的应用程序不是使用 Xcode 开发的,那么您的应用程序将永远不会获得 Apple 的批准。永远不会。如果您确实破解了 SDK 以在 Linux 上进行开发,并且 Apple 发现了,那么您受到惩罚时不要感到惊讶。我是 ADC 和 iPhone 开发者计划的成员。相信我,Apple 对此非常认真。
不要冒险,买一台 Macbook 或 Mac mini(是的,mini 可以运行 Xcode - 虽然速度很慢 - 如果你选择 mini,可以增加 RAM)。另外,虽然我见过 OS X 被破解以在 VMware 上运行,但我从未见过有人在 VM 上运行 Xcode。祝你好运。在你遇到麻烦之前,我会检查 EULA。
PS:读完以上内容后,我同意如果你确实破解了 SDK 并在 Linux 上开发,至少要在 Mac 上进行最终打包。并通过 Mac 提交。Apple 不会逐行运行代码,所以我怀疑他们能否发现这一点。但是,伙计,这有很多如果和工作。不过做起来很有趣。:)
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件