ios - 如何使用Windows开发机器为iPhone开发?


有什么办法来修补Windows机器上的iPhone SDK? 是否有Windows版iPhone SDK版本的计划?

我能想到的唯一方法就是在运行在Windows上的VMWare服务器上运行Mac VM镜像,尽管我不太确定这是如何合法的。


Answers



当然可以在Windows机器上进行开发,事实上,我的第一个应用程序是专门在当时的旧版Dell Precision上开发的。

有三条路线;

  1. 在第二个分区/磁盘上安装OSx86 (aka iATKOS / Kalyway)并双启动。
  2. 在VMWare下运行Mac OS X Server(Mac OS X 10.7(Lion)之后,阅读下面的更新)。
  3. 使用Delphi XE4和maccloud服务。 这是一个商业工具集,但组件和lib支持正在增长。

第一条路线需要修改(或使用预先修改的)Leopard的图像,可以安装在普通的PC上。 尽管您的成功/努力比例取决于PC硬件与Mac硬件的匹配程度,例如,如果您在Intel主板上运行Core 2 Duo,并且使用NVidia显卡你在笑。 如果你正在运行一台AMD机器或者没有SSE3的机器,那么它会变得更加复杂一些。

如果您购买(或已经拥有)Leopard版本,那么这是一个灰色区域,因为Leopard EULA声明您只能在“Apple Labeled”机器上运行它。 许多人指出,如果你在电脑上粘贴苹果标签,你可能会被覆盖。

第二个选择是更昂贵的。 Leopard工作站版本的EULA防止在仿真下运行,因此在VMWare中不支持这个功能。 但是豹服务器可以在仿真下运行,可以用于桌面目的。 然而豹服务器和VMWare是昂贵的。

如果你对选项1)感兴趣,我会建议从Insanelymac开始阅读OSx86部分。

我认为你应该考虑一下你投资的时间是否值得你节省的钱。 这是为了我,因为我喜欢修补这种类型的东西,我开始在早期的iPhone测试,数月前,他们的App Store可用。

或者,您可以从eBay购买低规格的Mac Mini。 如果您决定停止开发或购买更好的Mac,则不需要太多的马力来运行SDK,并且您可以随时将其销售。

更新:您无法为OS X 10.6及更早版本创建Mac OS X Client虚拟机。 苹果不允许这些客户端操作系统被虚拟化。 随着Mac OS X 10.7(Lion)的发展,苹果已经改变了关于虚拟化的许可协议。 来源: VMWare KnowledgeBase




如果你有一个越狱的iPhone,你可以通过Cydia将iphone-gcc工具链安装到iPhone上,这样你就可以在iPhone上编写应用程序。 以这种方式开发的应用程序仍然可以提交给App Store。

虽然Valdez先生说这是一个灰色地带,但越狱非常简单,几乎没有风险。 是的,这会让你失去信心,但你只能做一次恢复,而且永远不会知道。




Xamarin现在是我的头号投票。 现在由Microsoft购买并直接构建到Visual Studio中,并且可以使用C#和所有添加的更新和功能,您可以在Windows上执行所有操作,甚至可以编译,构建和启动部署。 您只需要一台Mac Mini充当部署服务器,但您永远不需要在其上编写任何代码。

对于游戏, Unity 3D是我的首选。 他们支持iOS和大多数其他平台。 对于iOS和MAC,只需获得最便宜的MAC Mini即可完成构建,但所有的开发都可以在Windows上完成。

其他选项:

使用Marmalade (以前称为Airplay SDK)(对于iPhone,你仍然需要一个Mac来签署你的应用程序,但就是这样,所有的开发/测试都可以在Windows上完成)。 最低层许可证现在是免费的。

果酱SDK

PhoneGap也可以工作,但是我发现它对于游戏来说不是那么好,但是对于常规的GUI应用程序来说它还是相当不错的。 同样,您需要一台Mac来签署和测试您的应用程序,并符合Apple的使用条款。




大多数“没有Mac的iOS开发所谓的Windows解决方案”要求Mac在最后签署并发送到应用程序商店。 我检查了一些,但不是所有(谁有时间?)

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

还有很多时候,他们只是使用另一种语言来使用Objective-C等价语句。 他们看起来一样,但总是有细微的差别,你必须在obj-c之上学习。 这也使得更少的意义,因为现在,而不是学得更少,你必须学习更多。 那么收益在哪里? 而且他们花费很多,因为他们很难发展。

许多缺乏任何调试能力。

我诚实地认为,如果你是一个核心的iOS开发人员,那么肯定会购买最好的Mac,学习Objective-C。 这是昂贵的,需要时间,但如果这是你的道路,这是值得的。

对于偶尔使用,租用远程Mac服务(如XCodeClub.com)更容易




你可以使用WinChain

引用项目页面:

这是在Windows XP / Vista计算机上构建iPhone工具链的最简单的方法,而后者又可以使用您的UIKit头文件(包含在winChain中)编写Objective-C源代码,并将其编译到可以使用的应用程序中在你的iPhone上。




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

根据我的经验,虚拟机解决方案的速度太慢了(在使用2G RAM的core2 duo笔记本电脑上)。 如果你想尝试搜索洪流。 这可能是不值得的。

另一种选择是在您的电脑上安装OS X,通常称为hackintosh。 Hackintoshes工作得很好 - 我的朋友刚刚卖掉了他的Mac,因为他的戴尔四核hackintosh实际上比苹果硬件要快得多(成本约为1/3)。 你可以找到很多有关如何做到这一点的文章; 这里有一个关于如何安装戴尔Inspirion 1525笔记本电脑: hackbook专业教程

当然,这两种方案都可能与某些许可方案相悖,因此请自行承担风险。




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

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

本文中的一位开发人员写了一个非常全面的介绍,在Windows上使用iBoot安装OS X Snow Leopard,然后安装Vmware(带有说明),然后获取iPhone开发环境...以及一些额外的多汁东西。 超级对我有帮助。

希望有所帮助。 它使用Phonegap,因此您可以一次在多个智能手机平台上开发。




你可以使用Tersus (免费,开源)。







一个开发工具,允许用Objective-C, C++开发iPhone应用程序,或者用Visual Studio开发C:

iOS build env上检查一下

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

相当整洁,甚至在编译成功后为你的应用程序生成IPA文件。 该代码在越狱设备上运行,对于地球上的其他人来说,我相信最终编译和提交到App Store必须在Mac上完成。 但是,它仍然可以使您使用知名的IDE进行开发。




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

但严重的是,这取决于您是否正在开发官方应用程序来投入App Store或为越狱iPhone开发应用程序。 要编写官方应用程序,需要Intel Mac的Apple iPhone SDK似乎是唯一可行的方法。 然而,有一个非官方的工具链来编写越狱iPhone的应用程序。 你可以在Linux和Windows上运行它(使用Cygwin)。




试试macincloud.com它允许你租用一个mac并通过RDP远程控制访问它。 然后,您可以使用您的PC访问Mac,然后开发您的应用程序。




万岁! 现在,您可以使用最新的Xamarin.iOS,使用提供构建和部署功能的网络链接的Mac来更轻松地完成此任务。

在这里看到更多的细节:

xamarin ios for visual studio简介




如果你希望它是合法的,你有两个选择,基于云计算的Mac解决方案或跨平台开发工具。 如果你不关心合法的东西,你可以考虑hackintosh方法或虚拟机。 如果你有一个体面的PC,运行虚拟机将是最简单的方法。 你可能永远也不知道哪一个硬件会在hacksintosh上出现驱动问题。

我已经尝试了所有这些方法,他们都有优点和缺点,但对于第二组,我感到内疚。 我开发应用程序谋生,而我不想为其他人撕掉。

如果您正在制作一个小型项目,基于云的Mac可能会有用。 租一小段时间,开发你的项目,然后离开你。 不要去学习任何新东西。

但是,如果您的项目越来越大,跨平台框架似乎是唯一的选择。 关键的是你需要明智地选择。 有这么多的混合框架,但是他们做的事情可以用一句话来概括为“在应用程序包装中浸入网页”,而开发人员对混合框架的负面经历也会影响本地框架。

我尝试了三种(Titanium,Smartface和Xamarin),他们都声称产生“真正的本地产出”,我认为他们的说法是正确的。 你需要测试,看看它是不是很容易描述本地的感觉。 在之前的评论中,有人指出,学习这些平台需要一些努力,但是一旦了解了这些平台,就可以开发不仅仅是iOS应用程序,而且还可以开发Android应用程序,所有这些都具有通用的代码库。 当然,它们比云端Mac便宜得多。 有些甚至是免费的。 您只需要一台Mac用于商店提交。

如果您了解JavaScript,请尝试Titanium和Smartface,如果您了解C#,请尝试Xamarin。 请注意,对于设备仿真器,Titanium依赖于Mac,但是Smartface有一个用于Windows开发的模拟器应用程序,它比我预期的更好。 另一方面,Xamarin需要在您的网络中使用Mac。







如果你想创建iPhone应用程序,但没有Mac,那么你应该尝试http://www.pmbaty.com/iosbuildenv/

它使您可以轻松开发原生的iOS应用程序,例如XCode,可以在任何iPhone,iPod或iPad上进行部署(越狱或不使用)。

使用您最喜欢的IDE在Objective-C,C ++,C或ARM程序集中进行编码,就像在XCode中一样。 支持ARC和块。

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

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

现在与iOS8的支持。




您可以使用英特尔XDK ,您可以在没有Mac的情况下开发和发布适用于iOS的应用程序。

点击这里查看详情。




看看这个:

在视图

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

就这样说,我没有尝试过。 该项目看起来相当不错,而且在SourceForge网站上没有太多活动。




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

尽管如此,这还不是一个最佳的解决方案。

恕我直言,商业上最明智的方式是把钱投资在苹果的认可框架。 这样,如果你发现自己陷入了一个令人难以置信的问题,那么你就有了一个更大的开发者社区来进行咨询。




您可以在WINDOWS PC上开发IPHONE应用程序。 我已经做到了,用复杂的应用程序。 它完美的作品。 您可以开发iPhone应用程序,而无需看到Mac或iPhone。

您可以使用Sencha或JQTouch或mobi1等工具在Windows上开发HTML(或更好:HTML5)应用程序。 (他们以前都是免费的)

然后你使用openSSL来签署应用程序。 和Adobe PhoneGAP Build服务搭建iPhone App。

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

我已经完成了,它完美的工作。 (但是,Android类型的响应速度 - 不如本地iPhone应用程序快)

你也可以使用巴比伦时代(大约300年前)运行C和C ++的程序,称为蜻蜓。 如果你的应用程序有一个或两个屏幕交互性有限,而且有很多计算,那就去做吧。 它包括一个模拟器。 你按下按钮编译到iphone。 (不知道,但我想你确实需要开发者许可证)

然后是Xamarin。 您在C#中开发了对本地代码的特殊调用。 你必须学习环境。




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




另外两个选项

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

  2. OpenPlus ELIPS Studio - 在Flex中编写,在Xcode上编译(需要Mac或VM),但是他们只是开始为他们的产品收费。

我认为可能有这些和其他一些提到的“工具链”选项,它们允许您在Windows上编译为二进制文件,而且我已经看到,您可以上传一个zip文件,并在线为您完成工具链样式编译,但是这违背了苹果的授权。

如果我没有弄错,像Titanium这样的输出/使用Xcode并且不使用任何第三方/替代/限制库的产品应该符合规范,因为您最终是在xcode中编译正常的Objective-C代码和库。




正如你已经指出,你可以尝试使用WinChain,但如果你是一个新手编码器,这将是不容易的。

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

所以在你去购买OSX许可证后,你可以尝试使用Boot-132或其他安装程序之一(如iDeneb)将其安装到另一个驱动器的PC上。 这个问题,你将不得不做很多修补和东西仍然不会正常工作。




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

Adobe已经从ActionScript 3 创建了编译器来为iOS编程。 后来,苹果批准了这种应用程序创建方法。

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




drim.co.il提供使用任何操作系统的个人电脑在Mac上远程开发的解决方案。 客户端PC上无需安装。




如果你想在Windows环境下开发一个应用程序,那么有一个选项,你可以在你的windows平台上安装MAC OS平台名称是:“Niresh'MAC OS”,你可以在Google上搜索那个文本

那么你可以下载整个MAC操作系统的源代码,并轻松地安装在您的Windows PC的MAC操作系统,Niresh是能够攻克整个操作系统。

希望这会帮助你。




你可以在PC上安装OSX,但经验不会太好,需要很多工作。 另一种方法是使用框架/ SDK Codename one :基于JAVA,可用于Windows(eclipse)上的WP8,Android,iOS上的代码,具有所有广泛的功能

功能概述:

  1. 完整的Android环境与超级快速的android模拟器
  2. 一个iPhone / iPad模拟器,可以在几分钟内轻松将iPhone应用程序带到大屏幕iPad上。
  3. 全面支持标准的Java调试,分析任何平台上的应用程序。
  4. 简单的主题/造型 - 只需点击即可

更多在开发使用Java的Android,iOS iPhone,WP8应用程序免责声明:这是我对产品的评论




正如很多人已经回答的那样,iPhone SDK仅适用于OS X,我相信苹果公司绝不会在Windows上发布它。 但有几个可供选择的环境/框架允许您开发iOS应用程序,甚至包装并使用Windows机器以及MAC提交给AppStore。 这里是最流行和相对更好的选择。

PhoneGap ,允许使用HTML / CSS / JavaScript创建基于Web的应用程序

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

Adobe AIR ,使用Flash / ActionScript的空中应用程序

Unity3D ,跨平台的游戏引擎

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




Oracle VirtualBox允许用户在虚拟机中安装Mac OS X. 如果您对此感到满意,可以使用这种方式来使用Xcode。 这是合法的,如果你“双启动”你的Mac进入Windows,然后安装在Windows(或Linux)的VirtualBox。

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




如果你有一个Mac的ssh访问,那么你可以使用一个VCN(如Vine VCN,它允许一次使用多个用户 - 瘦瘦的客户端)来控制XCode。

如果您想从笔记本电脑访问Mac Mini,或者您的Mac正在占用您的MacBook,这可能会很有用。