有没有办法在Windows机器上修改iPhone SDK ?有针对Windows的iPhone SDK版本的计划吗?
我能想到的另一种方法是在运行Windows的VMWare服务器上运行Mac虚拟机映像,尽管我不太确定这是否合法。
有没有办法在Windows机器上修改iPhone SDK ?有针对Windows的iPhone SDK版本的计划吗?
我能想到的另一种方法是在运行Windows的VMWare服务器上运行Mac虚拟机映像,尽管我不太确定这是否合法。
在Windows机器上开发当然是可能的,事实上,我的第一个应用程序是专门在我当时拥有的旧戴尔Precision上开发的:)
有三条路线;
Install OSx86 (aka iATKOS / Kalyway) on a second partition/disk and dual boot. Run Mac OS X Server under VMWare (Mac OS X 10.7 (Lion) onwards, read the update below). Use a framework and/or toolset, which allows developing on Windows, like Delphi XE4 with the mac-in-cloud service, which can build without MacOS device need. This is a commercial toolset, but the component and lib support is growing. Other honorable mentions are Flutter, Xamarin and similar; which may at end need actual MacOS device for final build (but you can test on Android till then, as they're cross-platform).
第一种方法需要修改(或使用预先修改过的)Leopard映像,该映像可以安装在普通PC上。这并不像你想象的那么难,尽管你的成功/努力比率将取决于你的PC硬件与Mac硬件的匹配程度——例如,如果你在英特尔主板上运行酷睿2双核,配NVidia显卡,你会笑。如果你运行的是一台没有SSE3的AMD机器,那么它就会变得复杂一些。
如果你购买了(或已经拥有)一个版本的Leopard,那么这是一个灰色区域,因为Leopard EULA规定你只能在“Apple标签”的机器上运行它。正如许多人指出的那样,如果你在你的电脑上贴上苹果贴纸,你可能就有保险了。
第二种选择成本更高。工作站版Leopard的EULA阻止它在模拟下运行,因此,VMWare中不支持这一点。然而,Leopard服务器可以在模拟下运行,并可用于桌面目的。然而,Leopard服务器和VMWare是昂贵的。
如果你对选项1感兴趣,我建议你从Insanelymac开始,阅读OSx86部分。
我确实认为你应该考虑你投入的时间是否值得你省下的钱。对我来说,这是因为我喜欢摆弄这类东西,我是在iPhone早期测试版的时候开始的,当时苹果应用商店还没有上线。
或者,你也可以从eBay上买一台低规格的Mac Mini。你不需要太多的马力来运行SDK,如果你决定停止开发或购买更好的Mac,你可以随时出售它。
更新:无法为OS X 10.6及更早版本创建Mac OS X客户端虚拟机。苹果不允许虚拟化这些客户端操作系统。随着Mac OS X 10.7 (Lion)的推出,苹果改变了虚拟化方面的许可协议。来源:VMWare知识库
你可以使用WinChain
引用项目页面:
这是在Windows XP/Vista计算机上构建iPhone工具链的最简单方法,反过来,它可以获取你使用UIKit头文件(包含在winChain中)编写的Objective-C源代码,并将其编译成你可以在iPhone上使用的应用程序。
SDK只在OS X上可用,迫使你使用mac电脑。如果你不想购买mac电脑,你可以在你的windows盒子上的虚拟机上运行OS X,或者你可以在你的PC上安装OS X。
根据我的经验,虚拟机解决方案非常慢(在具有2G内存的core2 duo笔记本电脑上)。如果你想试试,可以搜索torrent。这可能不值得。
另一种选择是在你的电脑上安装OS X,通常被称为hackintosh。hackintosh工作得很好——我的朋友刚刚卖掉了他的mac,因为他的戴尔四核hackintosh实际上比苹果硬件快得多(价格大约是苹果硬件的1/3)。
当然,这两种选择都可能与某些许可计划相抵触,所以请自行承担风险。
如果您有一个越狱的iPhone,您可以通过Cydia将iPhone -gcc工具链安装到iPhone上,这样您就可以在iPhone上编译应用程序。通过这种方式开发的应用程序仍然可以提交到App Store。
尽管瓦尔迪兹先生说这是一个灰色地带(事实确实如此),但越狱非常容易,而且几乎没有风险。是的,它使你的保修失效,但你可以做一个恢复,他们永远不会知道。
看看这个:
在视图
它是一个尝试将用多种源语言编写的程序交叉编译为多种目标语言的项目。最初的测试用例之一是用Java编写程序并在iPhone上运行。在网站上观看视频是值得的。
话虽如此,我还没试过。该项目似乎还处于测试阶段,在SourceForge网站上并没有太多活动。
当然,你可以在记事本或其他程序中编写Objective-C代码,然后将其移动到Mac上进行编译。
但说真的,这取决于你是在为App Store开发官方应用程序,还是为越狱iPhone开发应用程序。要编写官方应用程序,需要英特尔Mac的苹果iPhone SDK似乎是唯一可行的方法。然而,有一个非官方的工具链可以为越狱的iphone编写应用程序。您可以在Linux和Windows上运行它(使用Cygwin)。
正如已经指出的,你可以尝试使用WinChain,但如果你是一个新手,这将是不容易的。
iPhone SDK将在hackintosh(安装了OS X的普通PC)上运行。我知道,因为我有一个,它确实。
所以在你购买OSX许可证后,你可以尝试使用Boot-132或其他安装程序(如iDeneb)在你的PC上的不同驱动器上安装它。问题是,你将不得不做很多修补和事情仍然不会工作得很好。
Xamarin是一个可靠的选择。它被微软收购,现在被直接构建到Visual Studio中。你用c#编程。通过他们所添加的所有更新和功能,你可以做任何事情,除了从Windows上提交到App Store,甚至可以编译、构建和部署到iOS设备上。
对于游戏来说,Unity 3D是一个很好的选择。该编辑器可免费用于开发,甚至用于发行(如果你的年收入低于10万美元)。Unity支持iOS、Android和大多数其他平台。也许可以使用Unity的“Cloud Build”功能来避免使用Mac进行部署,尽管默认情况下Unity在为iOS构建时实际上会吐出一个Xcode项目。
其他选项:
PhoneGap (html/javascript)也可以。它对于游戏来说不太好,但是对于常规的GUI应用程序来说已经相当不错了。
Flutter (dart)是来自谷歌的免费跨平台移动应用程序开发框架。用Dart编写代码。
React Native (javascript)是Facebook创建的另一个流行的跨平台框架。
注意:对于所有这些选项,所有或大部分的开发都可以在Windows上完成,但MacOS设备仍然需要构建二进制文件提交给App Store。一种选择是买一台便宜的MAC Mini来完成你的最终构建。
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文件,并在网上完成工具链风格的编译,但这违反了苹果的授权。
如果我没有错的话,像Titanium这样输出/使用Xcode并且不使用任何第三方/替代/受限库的产品应该是合规的,因为你最终是在Xcode中编译的——普通的Objective-C代码和库。
你不需要拥有一台Mac,也不需要学习Objective-C。您可以在不同的环境中开发,然后编译成Objective-C。
运行osx 10.6为iPhone和iPad开发(snow leopard)
我们的一名开发人员写的这篇文章相当全面地介绍了在Windows上使用iBoot安装OS X Snow Leopard,然后安装Vmware(有说明),然后启动iPhone开发环境……还有一些额外有趣的东西。对我很有帮助。
希望这能有所帮助。它使用Phonegap,所以你可以同时在多个智能手机平台上开发。
如果你可以通过ssh访问Mac,那么你可以使用VNC(比如Vine VNC,它允许一次使用多种功能-瘦瘦客户端)来控制XCode。
如果你想从笔记本电脑访问Mac Mini,或者你的另一半占用了你的MacBook,这可能会很有用。
查看nsbasic /App Studio。这是iPhone的Visual Basic。(当然你也可以用JavaScript编写代码)。它生产的WebApps无需通过App Store就可以发布。应用程序也可以运行在其他平台上,比如Android。 nsbasic /App Studio
一个开发工具包,允许开发iPhone应用程序在Objective-C, c++或纯C与Visual Studio:
请在iOS build env中查看
你可以直接在Visual Studio (2008, 2010, Express)中构建iPhone应用。
非常简洁,它甚至在成功编译后为你的应用程序构建IPA文件。代码在越狱设备上运行正常,而在其他设备上,我认为最终的编译和提交到App Store必须在Mac上完成。但它仍然允许你使用知名的IDE进行开发。
是的,你不需要学习Objective-C,也不需要购买苹果的软件和硬件。
Adobe已经创建了编译器从actionscript3的程序为iOS。后来苹果公司批准了这种创建应用程序的方法。
这是在Windows或Linux/BSD下创建Apple应用程序的最佳方式(以及另一种适用于MacOS-X)
有趣的是,没有人提到跨平台的wxWidgets选项。
但它不是最优解。
恕我直言,商业上最明智的做法是把钱投资在苹果认可的框架上。这样,如果你发现自己遇到了一些令人难以置信的问题,你就有一个更大的开发人员社区可以咨询。
大多数所谓的“无需Mac的iOS开发Windows解决方案”都需要Mac在最后签名并发送到应用商店。我检查了一些,但不是全部(谁有时间?)
最后,学习“不用Objective-C就能编写iOS程序的超级简单方法”实在是太麻烦了,它们有很多bug。在我看来,他们设定的目标是无法实现的。
很多时候,它们会让你用另一种语言使用Objective-C的等价语句。它们看起来差不多,但总有细微的区别,你必须在obj-c的基础上学习。这也更没有意义了,因为现在你必须学得更多,而不是学得更少。那么收益在哪里呢? 而且它们的成本很高,因为它们很难开发。
许多人缺乏任何调试能力。
在我看来,如果你是一名铁杆iOS开发者,那么你一定要购买最好的Mac并学习objective-c。这是昂贵的,需要时间,但如果这是你的道路,它是值得的。
对于偶尔使用的用户来说,租用远程Mac服务(如XCodeClub.com)会更容易一些
你可以在Windows电脑上开发iPhone应用程序。我曾经用复杂的应用程序做到过。而且效果非常好。你可以在从未见过mac或iphone的情况下开发iphone应用。
你可以使用Sencha或JQTouch或mobi1等工具在windows上开发HTML(或HTML5)应用。(他们曾经一度都是免费的)
然后使用openSSL对应用程序进行签名。然后使用Adobe PhoneGAP Build服务构建IPhone应用程序。
但是你需要iphone开发者许可才能在iphone上安装它。但是你不需要在任何时候使用mac或iphone来编译、构建或测试它——所有这些都可以在PC上完成。
我做过,效果很好。(但Android类型的响应速度-不如原生IPhone应用程序快)
你也可以使用一个来自巴比伦时代(大约公元前300年)运行C和c++的名为dragonfly的程序。如果你的应用只有一个或两个屏幕,交互性有限,而且计算量很大,那就试试吧。它包括一个模拟器。你只需按下一个按钮就可以编译成iphone。(不确定,但我认为无论如何你都需要一个开发者许可证)
还有Xamarin。在c#中使用对本机代码的特殊调用进行开发。你必须了解环境。
如果你想在Windows环境下开发一个应用程序,那么有一个选项,你可以在你的Windows平台上安装MAC OS,名称是:“Niresh'MAC OS”,你可以在谷歌上搜索该文本
然后你可以下载整个MAC操作系统的源代码,并轻松地在你的Windows PC上安装MAC操作系统,Niresh能够破解整个操作系统。
希望这对你有所帮助。
你可以在PC上安装OSX,但体验不会很好,它需要大量的工作。另一种选择是使用一个框架/SDK代号:它基于JAVA,可用于WP8、Android、iOS和Windows (eclipse)上的所有广泛功能的编码
功能概述:
完整的Android环境与超快的Android模拟器 一个iPhone/iPad模拟器,可以在几分钟内轻松将iPhone应用程序转移到大屏幕iPad。 完全支持标准java调试,分析应用程序在任何平台。 简单的主题/样式-只需点击即可
更多关于使用Java开发Android, iOS iPhone, WP8应用程序 免责声明:这是我对产品的评论
万岁!您现在可以更容易地完成这与最新的Xamarin。iOS,使用网络连接的mac提供构建和部署功能。
详情请点击这里:
介绍xamarin ios for visual studio
这是一个新工具:oxygene,你可以用它来为iOS/Mac、Windows RT/8或Android开发应用。它使用派生自Object Pascal和Visual Studio的特定语言(并使用.net或java.)。它似乎真的很强大,但不是免费的。
坏消息是它的iOS模拟器和应用程序加载器都需要XCode来上传程序到iOS设备进行“真正的”测试。在向App Store提交应用之前,你需要用XCode为你的应用签名。不幸的是,XCode只适用于OS X。
However, the good news is that you may be able to purchase OS X and run it in a virtual machine such as VMWare Workstation. I don't know how straightforward this is, as it is rather difficult to get OS X to run on non-Apple hardware, but a quick Google search shows that it is possible. This method would (likely) be cheaper than purchasing a new Mac, although the Mac Mini retails in the US for only $599. Some posts I've seen indicate that this may or may not be legal, others say you need OS X Server for virtualization. I'll leave the research up to you.
还有MacInCloud这样的服务可以让你租用一台Mac服务器,你可以通过Windows上的远程桌面或浏览器访问它。不幸的是,我不认为你能够使用Application Loader,因为你必须物理地将设备连接到你的计算机,但它至少可以用于开发和模拟。
好运!
请看Xamarin。他们有Visual Studio的扩展(http://xamarin.com/visual-studio)。
摘自网站:
Xamarin提供了Visual Studio插件,这样你就可以在一个解决方案中开发你的iOS、Android和Windows应用程序。Xamarin扩展支持在模拟器或设备上构建、部署和调试。
正如许多人已经回答的那样,iPhone SDK只适用于OS X,我相信苹果永远不会针对Windows发布它。但也有一些可供选择的环境/框架允许你开发iOS应用,甚至可以使用windows机器和MAC打包并提交到AppStore。以下是最受欢迎和相对更好的选择。
PhoneGap,允许创建基于web的应用程序,使用HTML/CSS/JavaScript
Xamarin, c#的跨平台应用
adobeair,空中应用程序与Flash / ActionScript
Unity3D,跨平台游戏引擎
注意:Unity需要Xcode,因此OS X才能构建iOS项目。
(截至2014年底准确)
要访问本地工具(Xcode等),有两个主要选项:
1. 虚拟机
看看mavericks (10.9) vmware映像,它与修改后的vmware工作站/播放器一起工作。一旦机器能够启动,它就可以更新到10.9.5,没有明显的问题。
优点:相对较低的学习曲线(如果你对虚拟机比较熟悉的话)
缺点:由于虚拟化环境降低了性能,没有3d加速(QE/CL)
2. Hackintosh
这是一个明智的选择,如果你计划采购新的硬件(或至少部分),而不是改造现有的设备(但你可能很幸运,有一个常见的OEM模型(如戴尔),已经编写了食谱)
好处是:硬件性能不会受到影响,甚至可能超过真正的mac。如果你对多引导开放,同样的硬件也可以用于其他操作系统
坏处:更高的学习曲线,更多的硬件限制(某些英特尔wifi没有驱动程序等),如果你原本不打算购买新硬件,这可能会转化为更高的投资
不用说,上述两种选择都不受水果公司的欢迎,因此许可合规不在讨论范围之内。
3.一台真正的mac(2016年添加)
这个选项非常适合那些已经有一台mac并通过Bootcamp等将其用作Windows开发机器的人。这也有最少的支持问题(除了多重引导可能导致的并发症),所以建议那些寻求长期解决方案的人使用(硬件不仅适用于当前的OSX版本,而且适用于未来的版本)。
B4i是一个新的开发工具,可以创建原生iOS应用程序。它在Windows上运行。 当需要完整编译时(在大多数情况下不需要),项目将在托管的构建器上编译。每次编译大约需要5秒。 B4i
如果你想创建iPhone应用程序,但没有Mac,那么你应该尝试http://www.pmbaty.com/iosbuildenv/
它允许你轻松地开发原生iOS应用程序,如XCode,可部署在任何iPhone, iPod或iPad(越狱与否)。
使用你最喜欢的IDE在Objective-C, c++, C或ARM汇编中编码,就像在XCode中。支持ARC和block。
直接在Visual Studio中编译iPhone应用程序
它适用于Windows所有版本(XP, 7,8), FreeBSD和Linux
现在有了iOS8支持。
如果你想让它合法,你有两个选择,基于云的Mac解决方案或跨平台开发工具。 如果你不关心法律问题,你可以考虑hackintosh方法或虚拟机。如果你有一台不错的PC,运行虚拟机将是最简单的方法。你可能永远不知道在hackintosh上哪些硬件会有驱动程序问题。
我尝试过所有这些方法,它们都有优缺点,但对于第二种方法,我感到有点内疚。我开发应用程序是为了谋生,我不想为此宰割别人。
如果你正在做一个小项目,基于云计算的mac可能会很有用。租一段时间,开发你的项目,然后你就可以走了。不要费神去学任何新东西。
然而,如果你的项目越来越大,跨平台框架似乎是唯一的选择。关键是你需要明智地选择。现在有很多混合框架,但它们的功能可以用一句话概括为“在应用程序包装中显示网页”,开发人员使用混合框架的负面体验也影响了原生框架。
I tried three of these (Titanium, Smartface and Xamarin) and they all claim to produce "real native output" and in my opinion their claims are correct. You need to test and see it yoursrlf, it's not easy to describe the native feeling. In a previous comment, it was indicated that it takes some effort to learn these platforms, but once you get to know them, you can develop not just iOS applications but Android applications as well, all with the common code base. And of course, they are much cheaper than a cloud Mac. Some of them are even free. You would need a Mac only for store submission.
如果你懂JavaScript,可以试试Titanium和Smartface;如果你懂c#,可以试试Xamarin。需要注意的是,对于设备模拟器,Titanium依赖于Mac,但Smartface有一个用于Windows开发的模拟器应用程序,它比我预期的要好。另一方面,Xamarin需要你的网络中有一台Mac。
现在我们可以使用Xamarin Live Player在Windows机器上开发iPhone应用程序。
使用Xamarin实时播放器开发/部署/调试周期现在可以在没有苹果系统的情况下完成。
但要签署并发布应用程序,苹果系统是必须的。
在这里找到参考资料
我查了资料,没有什么可疑的
使用跨平台工具在Windows上开发iOS应用
跨平台工具非常棒:你只需编写一次应用代码,就可以将其导出到iOS和Android平台。这可能会使你的应用开发时间和成本减半。有几种跨平台工具可以让你在Windows电脑上开发iOS应用,如果你的本地网络中有一台Mac电脑,也可以让你编译应用。
嗯,别这么快……
跨平台工具生态系统非常庞大。一方面,你有完整的集成开发环境(ide),如Xamarin,允许你用c#构建跨平台应用。
PhoneGap、Cordova、Ionic和Appcelerator等工具覆盖了中间地带,它们允许你使用HTML5组件构建原生应用。另一端包括React Native这样的小平台,允许你用JavaScript包装器编写本地应用程序。
对于所有跨平台工具来说,最突出的一点是:它们对初学者并不友好!与开始使用Xamarin相比,使用Mac、学习Swift并构建一个简单的应用程序要容易得多。
大多数跨平台工具都要求你对编程、编译选项以及iOS和Android生态系统有基本的了解。这是一个初学者所不具备的东西!
话虽如此,让我们来看看几个选择:
If you’re familiar with Windows-based development tools and IDEs, and if you already know how to code, it’s worthwhile to check out Xamarin. With Xamarin you code apps in C#, for multiple platforms, using the Mono and MonoTouch frameworks. If you’re familiar with web-based development, check out PhoneGap or Ionic. You’ll feel right at home with HTML 5, CSS and JavaScript. Don’t forget: a native app works different than a website… If you’re familiar with JavaScript, or if you’d rather learn to code JavaScript than Swift, check out React Native. With React Native you can code native apps for iOS and Android using a “wrapper”. Always deliberately choose for cross-platform tools because it’s a smart option, not because you think a native platform language is bad. The fact that one option isn’t right, doesn’t immediately make another option smarter!
如果你不想加入封闭的苹果世界,别忘了许多跨平台工具是由谷歌、Facebook、微软、Adobe和亚马逊等同样邪恶的公司运营的。
一个经常听到的反对跨平台工具的论点是,它们对智能手机硬件的访问和支持有限,而且不如原生工具“时髦”。请记住,任何跨平台工具都要求您在某一时刻编写特定于平台的代码,特别是如果您想编写自定义功能时。
我用颤振。我在Windows机器上开发,在Android模拟器上测试。当我准备好在iOS上测试时,我在macOS上运行代码。根据我的经验,Flutter应用程序在Android和iOS上运行完全相同。如果你没有Mac,你可以下载VirtualBox并在上面安装macOS。在VirtualBox上,macOS的运行和真正的Mac完全一样,你可以在上面构建应用程序。
只要做一个网页应用。 iOS网页应用包括:
Reliable. The amount of time it takes to make an update is far shorter than with XCode. Fast. JavaScript on iOS is, by nature, far faster than native apps. Free. You never have to pay Apple a cent, as Apple doesn't have any control over you. Safer. If a crash occurs with a native app, it can take down even the newest iOS devices for hours or even days, until the user can fix them. If a web app crashes, the user just has to close and reopen it, worst case scenario. Offline. You can easily create a service worker to handle your app. Secure. Because you do not have access to native APIs, a security breach will be significantly less dangerous. Easy to program. A basic iOS web app can be programmed from the Safari URL bar on an iPhone. Literally. I've done it myself.