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

我能想到的另一种方法是在运行Windows的VMWare服务器上运行Mac虚拟机映像,尽管我不太确定这是否合法。


当前回答

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

但它不是最优解。

恕我直言,商业上最明智的做法是把钱投资在苹果认可的框架上。这样,如果你发现自己遇到了一些令人难以置信的问题,你就有一个更大的开发人员社区可以咨询。

其他回答

在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知识库

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来完成你的最终构建。

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

但它不是最优解。

恕我直言,商业上最明智的做法是把钱投资在苹果认可的框架上。这样,如果你发现自己遇到了一些令人难以置信的问题,你就有一个更大的开发人员社区可以咨询。

这是一个新工具:oxygene,你可以用它来为iOS/Mac、Windows RT/8或Android开发应用。它使用派生自Object Pascal和Visual Studio的特定语言(并使用.net或java.)。它似乎真的很强大,但不是免费的。

查看nsbasic /App Studio。这是iPhone的Visual Basic。(当然你也可以用JavaScript编写代码)。它生产的WebApps无需通过App Store就可以发布。应用程序也可以运行在其他平台上,比如Android。 nsbasic /App Studio