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

rya*_*yan 1161 windows iphone ios

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

我能想到的另一种方法是在Windows 上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这是多么合法.

And*_*ant 493

在Windows机器上开发当然是可能的,事实上,我的第一个应用程序是在我当时使用的旧Dell Precision上开发的:)

有三条路线;

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

第一条路线需要修改(或使用预先修改的)Leopard图像,该图像可以安装在普通PC上.这并不像你想象的那么难,虽然你的成功/努力比将取决于你的PC中的硬件与Mac硬件的硬件有多接近 - 例如,如果你在英特尔主板上运行Core 2 Duo,使用NVidia显卡你笑了.如果您正在运行AMD机器或没有SSE3的东西,它会更多地参与其中.

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

第二种选择更昂贵.用于Leopard工作站版本的EULA可防止它在仿真下运行,因此VMWare不支持此操作.但是,Leopard服务器可以在仿真下运行,可以用于桌面目的.但是,Leopard服务器和VMWare价格昂贵.

如果您对选项1)感兴趣,我建议从Insanelymac开始并阅读OSx86部分.

我认为你应该考虑一下你投资的时间是否值得你省钱.这对我来说是因为我喜欢修补这类东西而且我在早期的iPhone测试版中开始,几个月前他们的App Store可用.

或者,您可以从易趣中选择低规格的Mac Mini.你不需要太多的马力来运行SDK,如果你决定停止开发或购买更好的Mac,你总是可以在以后出售它.

更新:您无法为OS X 10.6及更早版本创建Mac OS X Client虚拟机.Apple不允许这些客户端操作系统进行虚拟化.随着Mac OS X 10.7(Lion)的推出,Apple已经改变了有关虚拟化的许可协议.来源:VMWare KnowledgeBase

  • 我只想指出,只要你没有超过32 GB的RAM就可以免费使用VMWare ESX,你回答说运行VMWare非常昂贵:/ (12认同)
  • 没有冒犯,但这听起来比它的价值更麻烦.旧款Mac在eBay上很便宜,可以运行Xcode. (3认同)

jjx*_*tra 169

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

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

其他选择:

PhoneGap也可以,但是我发现它对于游戏来说不是很好,但对于常规的GUI应用程序来说它是相当不错的.同样,您需要使用Mac来签署和测试您的应用程序,并遵守Apple的使用条款.

Flutter是Google提供的免费跨平台移动应用开发框架.

  • Phonegap非常棒,但您无法完全在Windows PC上开发应用程序,只需在iMac上签名即可,并希望获得最佳效果.除非您的应用程序属于HelloWorld类型,否则您确实需要进行测试和调试. (6认同)
  • 有一个名为[Nomad](http://www.vsnomad.com/)的Visual Studio扩展,它通过将PhoneGap构建推送到云服务来支持完全在您的PC上进行开发. (4认同)
  • 我不相信Marmalade已经免费,许可条款已经改变. (3认同)
  • 除非网络上有一些MAC PC,否则不能使用Xamarian (3认同)

Jos*_*unt 148

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

虽然Valdez先生说这是一个灰色地带(事实上),但越狱非常容易,并且几乎没有风险.是的,它会使你的保佑无效,但你可以做一次恢复,他们永远不会知道.

  • 只是更新:越狱不再使您的保修失效,至少在美国不行 (12认同)
  • 我拒绝谷歌Valdez先生.如果有人可以告诉我们,我有义务. (5认同)
  • @ 9000有源?虽然越狱不再违反DCMA(苹果从未强制执行过的东西),并且可能会或可能不会使保证无效(它有目的地含糊不清),但它会违反EULA并且苹果将拒绝服务于越狱设备http:/ /support.apple.com/kb/HT3743 (3认同)
  • @JoelFan iOS可能与Android具有相同的功能;一个“即时报价”。它存储在NVRAM中,并在每次擦除“ system”时递增,这意味着可以检测它是否已被刷新或生根。iOS设备可能具有相同的功能(实际上,如果没有,我会感到惊讶)。 (2认同)

小智 76

大多数"没有Mac的iOS开发所谓的Windows解决方案"需要Mac才能签名并发送到应用程序商店.我查了几个,但不是全部(谁有时间?)

最后,学习"他们超级特殊的简单方法来编程iOS __CODE__" 真是太麻烦了,他们有很多错误.在我看来,他们真正设定的目标是无法实现的.

还有很多时间它们会让你只使用__CODE__另一种语言来使用等效语句.他们看起来一样,但总有一些微妙的差异,你必须要学习__CODE__.这也没那么有意义,因为现在不是学习更少,你必须学习更多.那么收益在哪里?他们也花了很多钱,因为他们很难发展.

许多人缺乏任何调试能力.

老实说,如果你是一个核心__CODE__开发人员,那么肯定会购买最好的Mac并学习__CODE__.这是昂贵的,需要时间,但如果这是你的道路,那是值得的.

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


Par*_*and 55

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

根据我的经验,虚拟机解决方案速度非常慢(在具有2G内存的core2 duo笔记本电脑上).如果你想尝试搜索洪流.这可能不值得.

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

当然,这两种选择都可能与某些许可方案背道而驰,因此请自担风险.

  • hackintosh信息很容易过时,最好是关注专门用于该主题的网站(如dell模型的osxlatitude) (2认同)

小智 53

你可以使用WinChain

引用项目页面:

这是在Windows XP/Vista计算机上构建iPhone工具链的最简单方法,反过来,它可以使用您使用UIKit Headers(包含在winChain中)编写的Objective-C源代码,并将其编译为可以使用的应用程序在你的iPhone上.


小智 28

您不需要拥有Mac也不需要学习Objective-C.您可以在不同的环境中开发并在以后编译成Objective-C.

通过运行osx 10.6(雪豹)开发iphone和ipad

我们的一个开发人员写的这篇文章给出了一个非常全面的介绍,在Windows上使用iBoot安装OS X Snow Leopard,然后安装Vmware(带说明),然后让你的iPhone开发环境......以及一些额外多汁的东西.对我有用.

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


小智 21

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

  • 不.对于本机应用程序,您仍然需要Mac来编译和部署. (5认同)

小智 21

一个devkit,允许Objective-C, C++用Visual Studio 开发iPhone应用程序或只用纯C开发:

iOS build env中查看它

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

非常简洁,它甚至可以IPA在成功编译后为您的应用程序构建文件.代码在越狱设备上工作,对于地球的其他部分,我相信最终的编译和提交到App Store必须在Mac上完成.但是,它仍然允许您使用着名的IDE进行开发.


Meh*_*ari 19

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

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


小智 18

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


Kei*_*ler 17

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

flashcs 5

用于iphone的flashcs5应用程序


Mar*_*aud 12

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

有关详细信息,请参见此处

为视觉工作室介绍xamarin ios


小智 11

如果您希望它是合法的,您有两种选择,基于云的Mac解决方案或跨平台开发工具.如果您不关心合法内容,您可以考虑使用hackintosh方法或虚拟机.如果你有一台不错的PC,运行虚拟机将是最简单的方法.您可能永远不知道哪个硬件会在hackintosh上出现驱动程序问题.

我已经尝试了所有这些方法,它们都有利有弊,但对于第二组,我感到有点内疚.我开发应用程序以谋生,我不想为此扯掉其他人.

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

但是,如果您的项目变得越来越大,跨平台框架似乎是唯一的替代方案.关键是你需要明智地选择.有很多混合框架,但他们所做的可以用一句话概括为"在app包装器中展开网页",开发人员对混合框架的负面体验也会影响本机框架.

我试过其中的三个(Titanium,Smartface和Xamarin),他们都声称产生"真正的原生输出",在我看来他们的说法是正确的.你需要测试并看到它自己,描述原生的感觉并不容易.在之前的评论中,有人指出学习这些平台需要花费一些精力,但是一旦你了解它们,你不仅可以开发iOS应用程序,还可以开发Android应用程序,所有这些都使用通用的代码库.当然,它们比云Mac便宜得多.其中一些甚至是免费的.您只需要一台Mac用于商店提交.

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


小智 9

检查此Link Dragon Fire sdk


Osc*_*edo 9

如果您想创建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.

  • 根据SO政策,您能否透露您与推荐网站的关联? (3认同)

小智 8

看看这个:

在视图上

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

话虽如此,我还没试过.该项目似乎相当beta,并且他们的SourceForge网站上没有很多活动.


fb5*_*b55 8

Oracle VirtualBox允许用户在虚拟机中安装Mac OS X. 如果你对它感到满意,你可以使用这种方式来使用Xcode.如果你将你的mac"双启动"到windows中,然后在windows(或linux)中安装VirtualBox,这是合法的.

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

  • 当你将Windows作为Mac上唯一的系统运行时,绝对合法. (2认同)

Ver*_*ive 8

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

不过,它不是最佳解决方案.

恕我直言,商业上最明智的方法是将资金投入苹果认可的框架.这样,如果你发现自己遇到了一些令人难以置信的问题,那么你就有了一个更大的开发者社区来咨询.


pas*_*ute 8

您可以在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#中进行开发.你必须学习环境.


Hem*_*ore 8

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

点击此处了解详情.


Sco*_*ter 7

另外两个选择

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

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

我认为这些以及其他一些提到的"工具链"选项可能会允许您在Windows上编译为二进制文件,我已经看到您可以上传一个zip文件并在线为您完成工具链样式编译,但这违反了Apple许可.

如果我没有弄错的话,那些输出/使用Xcode并且不使用任何第三方/替代/限制库的Titanium等产品应该符合要求,因为你最终正在编译xcode - 正常的Objective-C代码和库.


小智 6

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

iPhone SDK将适用于Hackintoshes(安装了OS X的普通PC).我知道,因为我有一个,它确实.

因此,在购买OSX许可证之后,您可以尝试使用Boot-132或其他安装程序(如iDeneb)将其安装在PC上的不同驱动器上.这个问题你将不得不做很多修修补补的事情仍然无法正常工作.


小智 6

您可以在Windows上将Sentenza用于iPhone的make应用程序.经过成功测试.这不是一个解决方案,而是一个很好的选择!


Dur*_*n.H 6

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

使用这个Xamarin实时播放器开发/部署/调试周期现在可以在没有Apple系统的情况下完成.

但要签署并发布应用程序Apple系统是必需的.

这里找到参考

我检查了参考没什么狡猾的


Eir*_*Nym 5

是的,您无需学习Objective-C并购买Apple软件和硬件。

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

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