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

我能想到的另一种方法是在运行Windows的VMWare服务器上运行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.

其他回答

B4i是一个新的开发工具,可以创建原生iOS应用程序。它在Windows上运行。 当需要完整编译时(在大多数情况下不需要),项目将在托管的构建器上编译。每次编译大约需要5秒。 B4i

试试macincloud.com,它允许你租用一台mac电脑,并通过RDP远程控制访问它。然后你可以用你的PC连接到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知识库

这是一个新工具: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,因为你必须物理地将设备连接到你的计算机,但它至少可以用于开发和模拟。

好运!