有什么办法可以在Windows计算机上修补iPhone SDK?是否有针对Windows的iPhone SDK版本的计划?
我可以想到的唯一另一种方法是在Windows 上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这样做的合法性。
有什么办法可以在Windows计算机上修补iPhone SDK?是否有针对Windows的iPhone SDK版本的计划?
我可以想到的唯一另一种方法是在Windows 上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这样做的合法性。
Answers:
当然可以在Windows机器上进行开发,实际上,我的第一个应用程序是在当时的旧Dell Precision上独家开发的:)
有三条路线;
第一条路线要求修改(或使用预先修改的)可以安装在常规PC上的Leopard映像。尽管您的成功/努力率将取决于PC上的硬件与Mac上的硬件匹配程度,例如,如果您在带有NVidia的Intel主板上运行Core 2 Duo,这并不像您想的那样难。您在笑的图形卡。如果您运行的是AMD机器或没有SSE3的机器,那么它会涉及到更多。
如果您购买(或已经拥有)Leopard版本,则这是灰色区域,因为Leopard EULA声明您只能在“ Apple Labeled”计算机上运行它。许多人指出,如果您在PC上贴了Apple标签,您可能会被覆盖。
第二种选择更昂贵。Leopard工作站版本的EULA阻止了它在仿真下运行,因此,VMWare中对此不提供任何支持。但是,Leopard服务器可以在仿真下运行,并且可以用于桌面目的。但是,豹服务器和VMWare昂贵。
如果您对选项1)感兴趣,建议您从Insanelymac开始阅读OSx86部分。
我确实认为您应该考虑将花费的时间是否值得您节省的钱。这对我来说是因为我喜欢修补这类东西,而且我是在iPhone早期的Beta测试版(即App Store上市前几个月)开始的。
或者,您可以从eBay购买低规格的Mac Mini。您不需要太多的能力来运行SDK,并且如果您决定停止开发或购买更好的Mac,则可以在以后出售它。
更新:您无法为OS X 10.6及更早版本创建Mac OS X客户端虚拟机。Apple不允许对这些客户端操作系统进行虚拟化。从Mac OS X 10.7(Lion)开始,Apple更改了有关虚拟化的许可协议。资料来源:VMWare知识库
Xamarin是一个不错的选择。它由Microsoft购买,现在直接内置到Visual Studio中。您使用C#编写代码。利用他们添加的所有更新和功能,您可以执行所有操作,但可以从Windows提交到App Store,甚至可以编译,构建和部署到iOS设备。
对于游戏,Unity 3D是一个不错的选择。该编辑器可免费用于开发甚至分发(如果您的年收入少于10万美元)。Unity支持iOS,Android和大多数其他平台。可以使用Unity的“云构建”功能来避免必须使用Mac进行部署,尽管默认情况下,Unity在为iOS构建时实际上会吐出一个Xcode项目。
其他选项:
PhoneGap(html / javascript)也可以使用。它对游戏来说并不是很好,但是对于常规的GUI应用程序来说却相当不错。
Flutter(dart)是Google提供的免费跨平台移动应用开发框架。用Dart编写代码。
React Native(javascript)是Facebook创建的另一个流行的跨平台框架。
请注意:对于所有这些选项,所有或大部分开发都可以在Windows上完成,但是仍需要MacOS设备来构建二进制文件以提交到App Store。一种选择是获得便宜的MAC Mini来完成最终构建。
如果您拥有越狱的iPhone,则可以通过Cydia 将iphone-gcc工具链安装到iPhone上,这样就可以在iPhone上编译应用程序。以这种方式开发的应用程序仍可以提交到App Store。
尽管瓦尔迪兹先生说这是一个灰色地带,但越狱非常容易,而且几乎没有风险。是的,这会使您的保修失效,但是您只能进行恢复,他们永远不会知道。
system
擦除时都会递增,这意味着可以检测它是否已被刷新或生根。iOS设备可能具有相同的功能(实际上,如果没有,我会感到惊讶)。
多数“所谓的无Mac的iOS开发Windows解决方案”最终都要求Mac签名并发送到应用商店。我检查了一些,但不是全部(谁有时间?)
最后,学习“他们的超级特殊的简便方法,无需使用Objective-C对iOS进行编程”就太麻烦了,它们有很多错误。在我看来,他们设定的目标确实是无法实现的。
很多时候,它们使您仅使用另一种语言来使用Objective-C等效语句。它们看起来相同,但是在obj-c之上始终需要学习一些细微的差异。这也变得毫无意义,因为现在您必须学习更多,而不是学习更少。那么收益在哪里呢?它们也很昂贵,因为它们很难开发。
许多都缺乏任何调试能力。
坦白地说,如果您是iOS的核心开发者,那么请确定购买最佳的Mac并学习Objective-c。这很昂贵并且需要时间,但是如果这是您的道路,那是值得的。
对于偶尔的使用,租用远程Mac服务(如XCodeClub.com)更容易
该SDK仅在OS X上可用,迫使您使用Mac。如果您不想购买Mac,则可以在Windows框的虚拟机上运行OS X,也可以在PC上安装OSX。
以我的经验,虚拟机解决方案的速度异常缓慢(在配备2G内存的core2 duo笔记本电脑上)。如果您想尝试一下,请搜索种子。这可能不值得。
另一种选择是在您的PC上安装OS X,通常称为hackintosh。Hackintoshes的效果很好-我的朋友刚刚卖出了Mac,因为他的Dell四核hackintosh实际上比Apple硬件快得多(成本约为1/3)。您可以找到许多有关如何执行此操作的文章。这是有关如何在Dell Inspirion 1525笔记本电脑上安装的方法:hackbook专业教程
当然,这两种选择都可能与某些许可计划背道而驰,因此,后果自负。
您可以使用WinChain
引用项目页面:
这是在Windows XP / Vista计算机上构建iPhone工具链的最简单方法,而Windows XP / Vista计算机又可以使用您使用其UIKit标头(包含在winChain中)编写的Objective-C源代码,并将其编译为可以使用的应用程序在您的iPhone上。
您不需要拥有Mac,也不需要学习Objective-C。您可以在不同的环境中进行开发,稍后再编译为Objective-C。
通过运行osx 10.6(雪豹)为iPhone和iPad开发
我们的一位开发人员写的这篇文章详细介绍了如何使用iBoot在Windows上安装OS X Snow Leopard,然后安装Vmware(带有说明),使iPhone开发人员环境运转……以及一些多汁的事情。超级对我有帮助。
希望能有所帮助。它使用Phonegap,因此您可以一次在多个智能手机平台上进行开发。
一种开发工具包,允许您Objective-C, C++
使用Visual Studio 在纯C或纯C语言中开发iPhone应用程序:
您可以直接在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,然后开发应用程序。
如果您希望它合法,则有两个选择,基于云的Mac解决方案或跨平台开发工具。如果您不关心合法内容,则可以考虑使用hackintosh方法或虚拟机。如果您有一台不错的PC,那么运行虚拟机将是最简单的方法。您可能永远都不知道hackintosh上哪个硬件会出现驱动程序问题。
我尝试了所有这些方法,它们都有优点和缺点,但是对于第二组,我感到内feel。我开发应用程序谋生,但我不想为此而someone幸。
如果您正在做一个小型项目,则基于云的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(无论是否越狱)上部署。
与XCode一样,使用您喜欢的IDE在Objective-C,C ++,C或ARM汇编中进行编码。支持ARC和块。
直接在Visual Studio中编译iPhone应用程序
它适用于Windows所有版本(XP,7、8),FreeBSD和Linux
现在支持iOS8。
您可以在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#开发。您将必须学习环境。
看看这个:
这个项目试图将以多种源语言编写的程序交叉编译为多种目标语言。最初的测试用例之一是用Java编写程序并在iPhone上运行它们。在网站上观看视频是值得的。
话虽如此,我还没有尝试过。该项目似乎是beta版本,其SourceForge网站上没有很多活动。
您可以使用Intel XDK,无需Mac即可开发和发布适用于iOS的应用程序。
单击此处了解详细信息。
Oracle VirtualBox允许用户在虚拟机中安装Mac OSX。如果您对此感到满意,则可以使用这种方式来使用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文件并在线上为您完成工具链样式的编译,但这违反了Apple许可。
如果我没有记错,那么诸如Titanium之类的产品可以使用Xcode输出/使用并且不使用任何第三方/替代/受限库,则应该合规,因为您最终将使用xcode进行编译-常规的Objective-C代码和库。
您可以在Windows上将Sentenza用于iPhone的make应用程序。测试成功。这不是解决方案,而是一个不错的选择!
如前所述,您可以尝试使用WinChain,但是如果您是新手,那将不是一件容易的事。
iPhone SDK将在Hackintoshes(安装了OS X的普通PC)上运行。我知道我有一个,而且确实有。
因此,购买OSX许可证后,您可以尝试使用Boot-132或iDeneb等其他安装程序将其安装在PC上的其他驱动器上。您将不得不做很多修补工作,但事情仍然无法正常进行。
您可以在PC上安装OSX,但经验不会很好,并且需要大量工作。替代方法是使用框架/ SDK 代号之一:它基于JAVA,可用于在Windows(日食)上的WP8,Android,iOS(具有Eclipse的所有功能)中进行编码
功能概述:
使用Java 免责声明开发Android,iOS iPhone,WP8应用程序的更多信息:这是我对产品的评论
使用跨平台工具在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,您可以使用Mono和MonoTouch框架在C#中为多个平台编写应用程序代码。如果您熟悉基于Web的开发,请查看PhoneGap或Ionic。使用HTML 5,CSS和JavaScript,您会感到宾至如归。别忘了:本机应用程序与网站的工作原理不同...如果您熟悉JavaScript,或者如果您想学习编码JavaScript而不是Swift,请查看React Native。借助React Native,您可以使用“包装器”为iOS和Android编写本机应用程序。始终故意选择跨平台工具,因为这是一个明智的选择,而不是因为您认为本机平台语言不好。一个选项不正确的事实并不能立即使另一个选项变得更聪明!
如果您不想加入专有的封闭Apple领域,请不要忘记,许多跨平台工具都是由同样邪恶的公司(如Google,Facebook,Microsoft,Adobe和Amazon)运营的。
反对跨平台工具的一个经常听到的争论是,它们对智能手机硬件的访问和支持有限,并且比其本机同类工具“贪婪”程度小。请记住,任何跨平台工具都需要您一次编写特定于平台的代码,尤其是在要编写自定义功能的代码时。
您可以尝试使用HTML,JavaScript,CSS为iPhone开发Web应用程序。在Apple网站上查看入门信息。