关于ios:如何使用Windows开发机器为iPhone开发?

How can I develop for iPhone using a Windows development machine?

有没有办法在Windows机器上修补iPhone SDK?是否有针对Windows的iPhone SDK版本的计划?

我唯一能想到的另一种方法是在运行Windows的VMware服务器上运行mac-vm映像,尽管我不太确定这有多合法。


当然有可能在Windows机器上开发,事实上,我的第一个应用程序是在我当时的老戴尔Precision上开发的。

有三条路线;

  • 在第二个分区/磁盘和双引导上安装osx86(aka iatkos/kalyway)。
  • 在vmware下运行mac os x server(mac os x 10.7(lion)之后,请阅读下面的更新)。
  • 使用Delphi XE4和Macincloud服务。这是一个商业工具集,但是组件和lib支持正在增长。
  • 第一条路径需要修改(或使用预先修改过的)Leopard的图像,该图像可以安装在普通PC上。这并不像您想象的那么难,尽管成功/努力的比率取决于PC中的硬件与Mac硬件的匹配程度-例如,如果您在Intel主板上运行一个Core 2 Duo,并带有一个Nvid你笑的是图形卡。如果你在运行一台AMD机器或者没有SSE3的机器,它会有更多的参与。

    如果您购买(或已经拥有)一个版本的豹,那么这是一个灰色区域,因为豹欧拉声明您只能在一个"苹果标记"的机器上运行它。正如许多人指出的那样,如果你把一个苹果标签贴在你的电脑上,你可能会被覆盖。

    第二种选择成本更高。Leopard工作站版本的EULA防止它在仿真环境下运行,因此,在VMware中不支持这一点。然而,Leopard服务器可以在模拟下运行,并且可以用于桌面目的。然而,Leopard Server和VMware价格昂贵。

    如果您对选项1)感兴趣,我建议您从疯狂的mac开始阅读OSx86部分。

    我认为你应该考虑一下,你投资的时间是否值得你省下的钱。这对我来说是因为我喜欢修补这类东西,我开始于早期的iphone betas,几个月前他们的应用商店才上市。

    或者,您可以从易趣上购买一款低规格的Mac mini。你不需要太多的马力来运行SDK,如果你决定停止开发或者买一个更好的Mac,以后你可以一直出售它。

    更新:不能为OS X 10.6及更低版本创建Mac OS X客户端虚拟机。苹果不允许虚拟化这些客户机操作系统。随着Mac OS X 10.7(Lion)的推出,苹果改变了其虚拟化许可协议。来源:VMware知识库


    Xamarin现在是我的头号选票。由Microsoft购买并直接构建到Visual Studio中,并且能够使用C,并且有了它们添加的所有更新和功能,您可以在Windows上做任何事情,甚至编译、构建和启动部署。您只需要一个mac mini作为部署服务器,但不需要在上面写任何代码。

    对于游戏,Unity 3D是我的首选。编辑每年可获得10万美元的免费收入(非常适合独立编辑)。Unity 5+也完全解锁,甚至是免费版本。Unity支持iOS、Android和大多数其他平台。对于iOS和Mac,只需购买最便宜的Mac Mini即可完成构建,但所有开发都可以在Windows上完成。

    其他选项:

    PhoneGap也可以工作,但我发现它不太适合玩游戏,但对于常规的GUI应用程序来说,它相当不错。同样,您需要一台Mac来签署和测试您的应用程序,并遵守苹果的使用条款。

    flutter是一个免费的跨平台移动应用程序开发框架。


    如果你有一个越狱的iPhone,你可以通过Cydia将iPhoneGCC工具链安装到iPhone上,这样你就可以在iPhone上编译应用程序了。以这种方式开发的应用程序仍然可以提交到应用程序商店。

    尽管瓦尔德斯先生说这是一个灰色地带(事实上),但越狱非常容易,而且几乎没有风险。是的,它使你的战争无效,但你可以做一个恢复,他们永远不会知道。


    大多数"没有Mac的iOS开发用所谓的Windows解决方案"最终都需要Mac来签署并发送到应用商店。我查了一些,但不是全部(谁有时间?)

    最后,要学习"他们在没有Objective-C的情况下编写iOS的超级特别的简单方法"实在是太麻烦了,他们有很多错误。在我看来,他们设定的目标确实是无法实现的。

    还有很多时候,他们会让你简单地用另一种语言使用Objective-C等价语句。它们看起来是一样的,但总有一些细微的差异,你必须在obj-c的基础上学习。这也就没那么有意义了,因为现在你必须学习更多而不是学习更少。那么收益在哪里呢?而且成本很高,因为它们很难开发。

    很多人根本没有调试能力。

    老实说,如果你是一个核心的iOS开发者,那么一定要买最好的Mac,学习Objective-C。它很昂贵,而且需要时间,但是如果这是你的路,它是值得的。

    为了偶尔使用,像xcodeclub.com这样的远程Mac服务更容易租用。


    SDK仅在OS X上可用,这迫使您使用Mac。如果您不想购买Mac,可以在Windows设备上的虚拟机上运行OS X,也可以在PC上安装OS X。

    根据我的经验,虚拟机解决方案的速度非常慢(在带有2G内存的Core2 Duo笔记本电脑上)。如果你想尝试一下,就去寻找激流。这可能不值得。

    另一种选择是在你的电脑上安装OS X,通常被称为Hackintosh。Hackintosh工作得很好-我的朋友刚卖掉了他的Mac,因为他的戴尔四核Hackintosh实际上比苹果的硬件快得多(而且成本大约是1/3)。您可以找到很多关于如何进行此操作的文章;下面是关于如何在Dell Inspiration 1525笔记本电脑上安装的文章:Hackbook Pro教程

    当然,这两个选项都可能与某些许可计划背道而驰,因此请自行承担风险。


    你可以用Winchain

    引用项目页面:

    It's the easiest way to build the iPhone toolchain on a Windows XP/Vista computer, which in turn, can take Objective-C source code that you write using their UIKit Headers (included with winChain) and compile it into an application that you can use on your iPhone.


    你不需要拥有Mac,也不需要学习Objective-C。你可以在不同的环境中开发,然后编译成Objective-C。

    通过运行OSX 10.6(雪豹)为iPhone和iPad开发

    这篇文章是我们的一个开发人员写的,它给出了一个非常全面的步骤,使用iboot在Windows上安装OS X Snow Leopard,然后安装vmware(附带说明),然后让您的iphone dev环境运行……还有一些额外多汁的东西。对我非常有帮助。

    希望有帮助。它使用PhoneGap,因此您可以同时在多个智能手机平台上进行开发。


    您可以使用Tersus(免费、开源)。


    一个devkit,它允许人们在Objective-C, C++或纯C中使用Visual Studio开发iPhone应用程序:

    在iOS build env中查看

    您可以直接在Visual Studio(2008、2010、Express)中构建iPhone应用程序。

    非常整洁,它甚至在成功编译之后为您的应用程序构建IPA文件。这个代码和越狱设备上的代码一样有效,对于地球上的其他地方,我相信最终的编译和提交到应用程序商店必须在Mac上完成。但是,它仍然使您能够使用著名的IDE进行开发。


    当然,您可以在记事本或其他程序中编写Objective-C代码,然后将其移动到Mac进行编译。

    但说真的,这取决于你是在开发官方应用程序,将其放入应用商店,还是在开发越狱iPhone的应用程序。要编写官方应用程序,苹果iPhone SDK似乎是唯一可行的方法,它需要一个英特尔Mac。然而,有一个非官方的工具链来编写越狱iPhone的应用程序。您可以在Linux和Windows上运行它(使用cygwin)。


    试试macincloud.com吧,它允许你租一台mac,然后通过rdp遥控器访问它。然后,您可以使用PC访问Mac,然后开发应用程序。


    您很快就能使用Adobe Flash CS 5Windows上的iPhone创建应用程序:

    闪光灯5

    适用于iPhone的FlashCS5应用程序


    万岁!现在,您可以使用最新的xamarin.ios更轻松地完成这一任务,使用网络连接的Mac提供构建和部署功能。

    有关详细信息,请参阅此处:

    Xamarin iOS for Visual Studio简介


    如果您希望它是合法的,您有两个选择,基于云的Mac解决方案或跨平台开发工具。如果你不关心法律事务,你可以考虑使用hackintosh方法或虚拟机。如果你有一台像样的电脑,运行虚拟机是最简单的方法。你可能永远不知道哪些硬件在黑客机上会有驱动程序问题。

    我试过所有这些方法,它们都有利弊,但对于第二组,我感到有点内疚。我开发应用程序是为了谋生,我不想为了它而敲诈别人。

    如果你正在做一个小项目,基于云的Mac可能会被证明是有用的。租一小段时间,开发你的项目,然后离开。不要费心学习新东西。

    然而,如果你的项目越来越大,跨平台框架似乎是唯一的选择。关键是你需要明智的选择。有那么多混合框架,但是它们所做的可以用一句话概括为"在应用程序包装器中双面打印网页",开发人员对混合框架的负面体验也会影响本机框架。

    我尝试了其中三种(钛、SmartFace和Xamarin),它们都声称能产生"真正的本地输出",在我看来,它们的说法是正确的。你需要自己去测试和观察它,很难描述这种本土的感觉。在之前的评论中,有人指出学习这些平台需要付出一定的努力,但是一旦你了解了它们,你就不仅可以开发iOS应用程序,还可以开发Android应用程序,所有这些都是基于公共代码的。当然,它们比云Mac便宜得多。其中一些甚至是免费的。您只需要一个Mac来提交存储。

    如果你知道javascript,试试Titanium和SmartFace,如果你知道C,试试Xamarin。请注意,对于设备模拟器,Titanium依赖于Mac,但SmartFace有一个用于Windows开发的模拟器应用程序,它的工作性能比我预期的要好。另一方面,Xamarin需要网络中的Mac。


    查看此链接Dragon Fire SDK


    如果您想创建iPhone应用程序,但不想创建Mac,那么您应该尝试http://www.pmbaty.com/iosbuildenvy/

    它允许您轻松开发本地iOS应用程序,如Xcode,可部署在任何iPhone、iPod或iPad上(是否越狱)。

    使用您最喜欢的IDE在Objtovi-C、C++、C或ARM程序集中进行编码,如XCODE中的代码。支持弧和块。

    直接在Visual Studio中编译iPhone应用程序

    它适用于Windows所有版本(XP、7、8)、FreeBSD和Linux

    现在有了IOS8支持。


    您可以使用Intel XDK,这样就可以在不使用Mac的情况下为iOS开发和发布应用程序。

    单击此处获取详细信息。


    你可以在Windows PC上开发iPhone应用程序。我已经用复杂的应用程序完成了。而且效果很好。您可以开发iPhone应用程序,而不必看到Mac或iPhone。

    您可以在Windows上开发HTML(或更好的:HTML5)应用程序,使用诸如sencha、jqtouch或mobi1之类的工具。(他们曾经都有一段时间是自由的)

    然后使用openssl对应用程序进行签名。以及AdobePhoneGap构建服务来构建iPhone应用程序。

    但你需要iPhone开发者许可证才能在iPhone上安装它。但你不需要在任何时候用Mac或iPhone来编译、构建或测试它——所有这些都是在PC上完成的。

    我做到了,而且效果很好。(但Android类型的响应能力-不如本地iPhone应用程序快)

    你也可以使用从巴比伦时代(大约公元前300年)运行C和C++的程序,称为蜻蜓。如果你的应用有一个或两个互动性有限的屏幕,并且有很多计算,那就去做吧。它包括一个模拟器。你只需按下一个按钮就可以编译到iPhone上。(不确定,但我认为在任何情况下您都需要开发人员许可证)

    还有Xamarin。在C中开发时,需要对本机代码进行特殊调用。你必须学习环境。


    看看这个:

    俯视

    它是一个试图将用各种源语言编写的程序交叉编译成各种目标语言的项目。最初的测试用例之一是用Java编写程序并在iPhone上运行它们。在网站上观看视频是值得的。

    这么说,我还没试过。这个项目似乎是测试版的,他们的sourceforge站点上没有很多活动。


    有趣的是,没有人提到跨平台wxwidgets选项。

    不过,这并不是最佳解决方案。

    imho,商业上最明智的做法是把钱投资到苹果认可的框架中。这样,如果你发现自己陷入了一个令人难以置信的问题,你就有了一个更大的开发者社区来咨询。


    Oracle VirtualBox允许用户在虚拟机中安装Mac OS X。如果你对它感到满意,你可以用这种方式来使用Xcode。如果您将Mac"双引导"到Windows中,然后在Windows(或Linux)中安装virtualbox,这是合法的。

    其他的可能性是跨编译器,如Appcelerator Titanium(HTML、CSS和JavaScript)或MonoTouch(.NET)。


    其他两种选择

  • Titanium Developer-免费社区版-用HTML/javascript编写-用Xcode编译(需要Mac或VM)

  • openplus-elips-studio——使用flex编写,在xcode上编译(需要一个mac或vm)——但是他们刚刚开始为他们的产品收费。

  • 我认为可能有"工具链"选项,这些选项和其他提到的一些选项,允许您在Windows上编译为二进制文件,我已经看到您可以上传一个zip文件,并在网上为您完成一个工具链风格的编译,但这违背了苹果的许可。

    如果我没有弄错,那么输出/与Xcode一起工作且不使用任何第三方/可选/受限库的产品(如Titanium)应该符合要求,因为您最终是在Xcode-Normal Objective-C代码和库中编译的。


    如前所述,您可以尝试使用Winchain,但如果您是一个新手编码器,这将是不容易的。

    iPhone SDK将在Hackintosh(一款安装了OS X的普通PC)上工作。我知道我有一个,它确实有。

    因此,在购买OSX许可证后,您可以尝试使用boot-132或其他安装程序(如ideneb)将其安装到其他驱动器上。这个问题你必须做很多修补工作,但仍然不能很好地解决。


    你可以在Windows上使用Sentenza制作iPhone应用程序。测试成功。这不是一个解决方案,而是一个很好的选择!


    现在使用Xamarin,我们可以在Xamarin Live Player的帮助下,在Windows机器中开发iPhone应用程序。

    使用此Xamarin Live Player开发/部署/调试周期现在可以在没有Apple系统的情况下完成。

    但要签署和发布苹果的应用程序系统是必需的。

    在这里找到参考资料

    我查了参考资料,没什么不可靠的。


    是的,你不需要学习Objective-C和购买苹果的软件和硬件。

    Adobe已经创建了从ActionScript3到iOS程序的编译器。后来苹果公司批准了这种应用程序创建方法。

    这是在Windows或Linux/BSD下创建Apple应用程序的最佳方法(另一种方法用于MacOS-X)


    您可以在PC上安装OSX,但经验不太好,需要大量的工作。另一种方法是使用一个框架/SDK代码名:一个是基于Java的,可以用来在WP8、Android、iOS上对Windows(Eclipse)进行广泛的功能编码。

    功能概述:

  • 全Android环境,带超快速Android模拟器
  • 一款iPhone/iPad模拟器,可以在几分钟内轻松将iPhone应用程序传送到大屏幕iPad。
  • 完全支持标准Java调试,对任何平台上的应用程序进行分析。
  • 轻松的主题/造型–只需点击一下即可
  • 更多使用Java开发Android、iOS iPhone、WP8应用程序免责声明:这是我对产品的评论


    如果您有对mac的ssh访问权,那么您可以使用vnc(如vine vnc,它允许同时使用多个瘦客户机)来控制xcode。

    如果您想从笔记本电脑上访问Mac mini,或者您的S.O.正在霸占您的MacBook,这可能很有用。


    如果你想在Windows环境下开发一个应用程序,那么有一个选项,你可以在你的Windows平台上安装Mac OS,名字是:"niresh'mac os",你可以在谷歌上搜索该文本。

    然后你可以下载整个Mac操作系统的源代码,并在你的Windows PC上轻松安装Mac操作系统,Niresh可以破解整个操作系统。

    希望这对你有帮助。


    正如许多人已经回答的那样,iPhone SDK只适用于OS X,我相信苹果永远不会在Windows上发布它。但是有几种可供选择的环境/框架允许您开发iOS应用程序,甚至可以使用Windows机器和Mac打包并提交到AppStore。这里是最受欢迎和相对更好的选择。

    phonegap,允许使用html/css/javascript创建基于Web的应用程序

    Xamarin,C中的跨平台应用程序#

    带Flash/ActionScript的Adobe Air、Air应用程序

    Unity3D,跨平台游戏引擎

    注意:Unity需要Xcode,因此OS X需要构建IOS项目。


    您可以尝试使用HTML、JavaScript、CSS开发iPhone的Web应用程序。查看苹果网站上的入门信息。


    使用跨平台工具在Windows上开发iOS应用程序

    跨平台工具非常棒:你只需编写一次应用程序代码,然后将其导出到iOS和Android。这可能会将你的应用程序开发时间和成本减少一半。几个跨平台工具允许您在Windows PC上开发iOS应用程序,或者允许您在本地网络中有Mac时编译应用程序。

    好吧,别那么快…

    跨平台工具生态系统非常庞大。一方面,您拥有完整的集成开发环境(IDE),如Xamarin,允许您使用C_构建跨平台应用程序。

    中间部分被phonegap、cordova、ionic和appcelerator等工具所覆盖,这些工具允许您使用HTML5组件构建本机应用程序。远端包括一些较小的平台,比如React Native,它们允许您使用JavaScript包装器编写本机应用程序。

    对于所有跨平台工具来说,最突出的一点是:它们不适合初学者!与使用Xamarin相比,使用Mac、学习Swift和构建简单的应用程序要容易得多。

    大多数跨平台工具都要求您对编程、编译选项以及iOS和Android生态系统有基本的了解。作为一个初学者开发人员,这是你所没有的!

    说到这里,我们来看几个选项:

    如果您熟悉基于Windows的开发工具和IDE,并且已经知道如何编写代码,那么检查xamarin是值得的。有了Xamarin,你就可以用C语言为多个平台编写应用程序,使用Mono和MonoTouch框架。如果您熟悉基于Web的开发,请查看PhoneGap或Ionion。使用HTML5、CSS和JavaScript,您会感到宾至如归。别忘了:一个本地应用程序的工作方式不同于一个网站…如果你熟悉JavaScript,或者你更愿意学习编写JavaScript代码而不是使用Swift,那么可以查看react native。使用React Native,您可以使用"包装器"为iOS和Android的本机应用程序编码。总是故意选择跨平台工具,因为这是一个明智的选择,而不是因为您认为本地平台语言不好。一个选项不正确的事实并不能立即让另一个选项更聪明!

    如果你不想加入苹果专有的封闭世界,不要忘记许多跨平台工具都是由同样邪恶的公司操作的,比如谷歌、Facebook、微软、Adobe和亚马逊。

    一个经常被听到的反对跨平台工具的论据是,它们提供对智能手机硬件的有限访问和支持,并且比它们的本地同类产品不那么"敏捷"。请记住,任何跨平台工具都将要求您在某一点上编写特定于平台的代码,特别是如果您想要编写自定义特性的代码。


    (截至2014年底准确无误)

    要访问本机工具(Xcode等),有两个主要选项:

    1。虚拟机

    环顾四周,寻找与修改过的vmware工作站/播放器一起工作的特立独行(10.9)vmware映像。一旦机器能够启动,它就可以更新到10.9.5,没有明显的问题。

    优点:学习曲线相对较低(如果你对虚拟机比较熟悉)

    缺点:虚拟化环境导致性能降低,没有3D加速(qe/cl)

    2。黑金塔

    如果您计划购买新硬件(或至少部分硬件),而不是改装现有设备(但您可能很幸运拥有一个已经为其编写了配方的常见OEM型号(如戴尔),这是明智的选择)

    优点:对硬件性能没有惩罚,甚至可能超过真正的Mac。如果您愿意多引导,同样的硬件也可以用于其他操作系统。

    缺点是:学习曲线越高,硬件限制越多(某些Intel WiFi没有驱动程序等),如果您不打算最初获得新硬件,这可能会转化为更高的投资。

    不用说,水果公司不赞成上述两种选择,因此许可合规性不是讨论的一部分。

    三。实际MAC(2016年增加)

    此选项非常适合已经拥有Mac并通过bootcamp等将其用作Windows开发机器的用户。它还具有最少的支持问题(除了多引导可能导致的复杂问题),因此建议为寻求长期解决方案的用户(硬件不仅适用于当前的OSX版本,而且适用于Fu)真实版本)


    Visual Studio+Xamarin将完成此项工作。

    Visual Studio

    不过,我还是建议你买一台Mac并在Xcode中开发iOS应用程序。

    When in Rome, live like the Romans do.


    还有SenchaArchitect和SenchaTouch,它们来自于制造ExtJS的公司。


    这是一个新工具:oxygene,你可以用它为iOS/Mac、Windows RT/8或Android构建应用程序。它使用从对象Pascal和VisualStudio派生的特定语言(并且使用.NET或Java)。它看起来很强大,但不是免费的。


    因此,坏消息是Xcode需要用于其iOS模拟器以及应用程序加载工具,以便将程序实际上载到iOS设备进行"真实"测试。在提交到应用商店之前,您需要Xcode来签署您的应用程序。不幸的是,Xcode只能用于OS X。

    不过,好消息是,您可能能够购买OS X并在虚拟机(如VMware Workstation)中运行它。我不知道这有多简单,因为很难让OSX在非苹果硬件上运行,但是一个快速的谷歌搜索显示这是可能的。这种方法可能比购买一台新的Mac更便宜,尽管Mac Mini在美国的零售价仅为599美元。我看到的一些帖子表明这可能是合法的,也可能是不合法的,还有一些帖子说您需要OS X服务器进行虚拟化。我将把研究留给你。

    还有一些服务,如macincloud,允许您租用Mac服务器,您可以通过远程桌面或浏览器从Windows访问该服务器。不幸的是,我认为您不能使用应用程序加载器,因为您必须将设备物理连接到您的计算机,但它至少可以用于开发和模拟。

    祝你好运!


    请看一下Xamarin。它们具有Visual Studio的扩展名(http://xamarin.com/Visual Studio)。

    从他们的网站上获取:

    Xamarin provides Visual Studio add-ins so that you can develop your iOS, Android and Windows apps all in a single solution. The Xamarin extensions support building, deploying, and debugging on simulator or device.


    b4i是一个新的开发工具,可以创建本地iOS应用程序。它在窗户上运行。当需要完全编译时(大多数情况下不需要),项目将在宿主生成器上编译。每次编译大约需要5秒钟。B4I


    查看ns-basic/app-studio。它是iPhone的Visual Basic。(尽管您也可以用javascript编码)。它产生的webapps不需要经过应用商店就可以分发。应用程序也将在其他平台上运行,如Android。NS基本/应用程序工作室