Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 开始在Linux中开发iPhone应用程序?_Ios_Linux - Fatal编程技术网

Ios 开始在Linux中开发iPhone应用程序?

Ios 开始在Linux中开发iPhone应用程序?,ios,linux,Ios,Linux,我听说如果你想开发iPhone应用程序,你需要一台Mac电脑。这是真的吗 可以使用Linux开发iPhone应用程序吗?如果是,我需要什么以及在哪里下载必要的工具?到目前为止,这似乎是正确的。Apple提供的唯一SDK仅针对macOS环境。我对此感到不安,但我现在正在考虑买一台mac电脑,只是为了开发iPhone。我真的不喜欢他们正在做的事情,我希望能为其他环境(如Linux和Windows)提供一个好的SDK 关于SDK的障碍: 苹果最近发布了一款iPhone软件开发工具包SDK,但如果你希望

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


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

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

关于SDK的障碍:

苹果最近发布了一款iPhone软件开发工具包SDK,但如果你希望用它移植或开发原始的开源软件,那就不是好消息。代码签名和保密条件使自由软件成为不可能

SDK本身是免费下载的,您可以使用它编写程序并在软件模拟器上运行它们。但是,为了真正发布您编写的软件,您必须注册iPhone开发者计划——这是与下载SDK不同的一步,需要获得苹果的批准


我认为对他们来说,认为只有macOS用户才有能力为他们的手机编写程序是相当精英化的,而如果你想发布你的东西,你需要购买100美元的许可证,这确实让业余程序员更加困难。不过,如果这是你需要做的,我打算跳过他们的圈套;我真的很想在我的iPhone上开发一些东西。

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

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


祝你好运。

这个问题的答案实际上取决于你是否想开发通过iPhone商店分发的应用程序。如果你不这样做,也不介意为越狱的iPhone用户开发,那么就有可能从Linux开发

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


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

此外,还可以查看同一工具链的其他指南,这些指南可以更系统地进行操作

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


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

如果你的应用程序不是使用Xcode开发的,你将永远无法获得苹果的批准。从不如果你在Linux上开发SDK,而苹果发现了这一点,那么当你得到服务时,不要感到惊讶。我是ADC和iPhone开发者计划的成员。相信我,苹果对此非常认真

不要冒险,买一台Macbook或MacMini是的,一台mini可以运行Xcode——虽然速度很慢——如果你使用mini的话,可以提高RAM。另外,虽然我见过OS X被黑客攻击在VMware上运行,但我从未见过有人在VM上运行Xcode。祝你好运。在你遇到麻烦之前,我会检查一下EULA


PS:在阅读了以上内容之后,是的,我同意如果你真的破解SDK并在Linux上开发,至少在Mac上进行最终打包。并通过Mac提交。苹果公司没有逐行检查代码,所以我怀疑他们是否能理解。但是,伙计,这需要很多的假设和工作。不过做起来很有趣

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


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

如果你珍惜时间,就买一台Mac!我对Linux开发选项了解不够,无法提供一个可行的解决方案,但所提出的方法似乎涉及一些相当迂回的工作。如果你 认真编写和销售iPhone应用程序,我认为你可以轻松收回Mac Mini或Macbook的成本-

过去有一个专门解决此缺陷的项目:

iphone开发项目的目标是创建一个免费、便携、高质量的工具链,以支持基于ARM/Darwin平台的Apple iphone和其他嵌入式设备的开发


没错,非越狱手机仅限于苹果的应用商店,苹果有权执行任何规则,这完全是非自由领域。
然而,在开发过程中,人们根本不必与苹果打交道。例如,您可以使用rsync将代码上传到设备并进行测试。

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

我尝试将cocos2d iphone移植到GNUstep,以便您可以开发基于cocos2d的游戏。但是,要发布,您需要一台mac

你需要买mac电脑。有几个可用的工具链,比如win-chain,实际上可以让您在windows上编写和构建iPhone应用程序。有几个相关教程可以在Windows上构建Objective C代码。但有一个问题,因此开发的应用程序只能在越狱的i手机上运行

我们已经看到很少有黑客能够克服这一点并进入应用商店,但随着苹果不断更新SDK,工具链需要定期更新。要一直弥补这一点很麻烦。如果你想准备好应用程序,你还可以从arcapps获得帮助,arcapps以合理的价格发布应用程序。

您可能能够在Linux设备上编写代码,最终会在iPhone或iPad上找到它,但最终您需要一台Mac电脑来测试或将代码部署到iPhone或将其提交到应用商店。所以最终你需要一台Mac电脑,所以你也可以在Mac电脑上使用苹果提供的所有工具来完成工作。Xcode和Objective-C有很多替代品,比如Monotouch,但它们也利用了苹果的工具

您可以通过一些工作在Linux上的VM中运行OSX。然而,我应该指出,这将打破OSX许可协议,即使你购买OSX的副本-因为它只被授权在苹果硬件上运行

很抱歉告诉你这个消息——iPhone/iPad周围的生态系统受到非常严格的控制


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

在某种程度上,是的,这是可能的。您可以键入Objective-C代码并设置项目。你甚至可以用GCC,C,C++部分测试你的代码。 你不能做的事:

使用Interface Builder设置界面,因为它仅适用于Mac。不需要,但建议使用。 编译使用Apple的Cocoa类的代码——它们在Linux上不存在。 在模拟器中测试代码-没有适用于Linux的代码。 为真实设备或应用商店编译代码——所有这些都需要苹果仅为OSX提供的工具。
我建议买一台mac电脑,因为ios模拟器对于在应用程序的早期阶段进行测试来说非常棒。但我确实知道我们合作的一家小公司使用Unity进行开发,这样他们就不需要大量的Mac电脑了。这样一来,他们办公室只需要一台mac电脑,这只是为了编译最终版本。这也意味着它可以在android上运行,但这实际上取决于你的建筑,因为它是一个游戏引擎。您可能希望使用Sencha Touch Mobile等框架查看web应用程序

团结:
Sencha Touch:

有一个框架叫做

这个概念基于RubyonRails,你可以用Ruby和HTML开发你的移动应用程序,你可以在Linux环境中编写你的代码。然后,您可以在创建一个帐户,通过该帐户添加代码,并允许您为iPhone、Blackberry、Android、Windows Mobile和Symbian编译代码,所有代码都相同。你不必为iPhone编写Objective-C代码,也不必为Android编写Java代码,等等。它会为你进行转换。你所需要做的就是遵守创建iPhone应用程序或你想要开发的手机的规则,这样它就可以在iTunes或同等市场上被接受

这将允许您将应用程序添加到iTunes

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

我使用这个选项是因为我想为所有手机创建应用程序,而且我已经在使用RubyonRails了。如果你只是想为iPhone开发一款应用程序,那么就投资一款Mac


希望这能有所帮助。

我已经成功地在linux上使用。基本上,它包括来自linux发行版的上游clang和llvm工具、苹果链接器的linux端口以及一些帮助简化构建过程的额外工具 将xcode项目转换为Makefile格式等过程

安装确实需要几个步骤,但您是一名软件开发人员,所以您已经习惯了。我在网上发布了Debian 7 Wheezy的最新指南:

否则,您需要使用稍旧的通用说明:



祝你好运。

我尝试过VMWare选项,但至少在我的硬件T5200 Core2 2M ram上,速度慢得无法忍受。我的朋友也有类似的经历,我也是。慢点,慢点,慢点。“你甚至不想尝试。”巴拉德:当然,在2M内存上速度会很慢,我很惊讶它甚至会启动!您可能想尝试VirtualBox而不是vmware。在我看来,VMWare过于臃肿。正如前面所说,我不认为这是精英主义的错。XCode和所有其他开发工具(GCC等低级项目除外)都是用Cocoa编写的,所有iPhone框架也是如此。他们需要首先将所有这些移植到其他操作系统。这不是一项小任务。请告诉我Microsoft何时发布Visual Studio for Linux和Mac…请告诉我Microsoft何时发布Visual Studio、Access、Frontpage、XNA、DirectX、Office及其所有功能、影音制作、Visio、IIS或Mac/Linux Exchange。请告诉我Microsoft何时根据EULA运行Visual Studio、Access、Frontpage,DarWine中的XNA、DirectX、Office、影音制作、Visio、IIS或Exchange。@StephenDarlington让您知道。Visual Studio已经为Linux和Mac发布。新的Mini可以胜任这项任务。我想它们大约600美元,你几乎可以使用任何鼠标、键盘和显示器。一定要校准显示器!XCode似乎在我未扩展的mini上运行得很好。XCode在Mac OS X虚拟机上运行得很好。苹果一直批准Air SDK应用程序,与XCode的交互为零。你可以在linux/windows上完成整个构建。现在有大约50000个应用程序,这不一定很容易实现。沙拉时代也许已经过去了。@Nosredna我是一个喜欢相信的人,但说真的,你是对的。伙计,如果我们正在寻找一个替代品,那是因为买一个不是一个可行的选择。所以,用你的方法,你能在iTunes上签名并发布吗?是的,没问题。您使用的是XCode,签名工作正常,我现在在商店里有一个生产应用程序,是从VM提交的。出于显而易见的原因,我不会给它命名。@Chaos:你能不能发布链接到你用来运行安装程序的具体内容?预构建的虚拟机可以信任吗?我是说嵌入式罪犯软件,后门…好的。我对这件事的看法。一旦你开发了应用程序,你就可以使用这项服务发布相关信息。有人可以编辑这个s/Linux/unix来概括它吗?@GoodPerson那么你就模糊了OS X和其他操作系统之间的界限,这就是这个问题。这是我所发现的最重要的信息之一。绝对是在主题中,我想说……太好了。这个项目克服了斯蒂芬·考克斯提出的问题吗?如果你的应用程序不是使用Xcode开发的,你将永远不会得到苹果的批准。从不如果你真的黑了SDK在Linux上开发,苹果发现Thankslibmobiledevice实际上有一个不错的界面来安装应用程序,而不需要在iDevice上使用rsync/ssh。不过,如果你在Mac上运行Linux,可能允许在虚拟化中运行Lion。该项目似乎没有进行常规开发或升级网站的维护,例如关于构建工具/可移植性的Wiki条目是从2010年2月开始的。@F先生,它确实死了。当你说这些类不存在时,你是什么意思?我只需要标题,苹果会为我链接它无论如何。这就是应用程序提交的工作原理,好吧。@JanusTroelsen这意味着,Cocoa在Linux上不存在,而且可能永远不会以Xcode项目的形式生成原生iPhone应用程序,您可以使用苹果的iPhone SDK编译和签名。因此,它将无法对本机iOS应用程序进行编译和签名