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

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


当前回答

使用跨平台工具在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和亚马逊等同样邪恶的公司运营的。

一个经常听到的反对跨平台工具的论点是,它们对智能手机硬件的访问和支持有限,而且不如原生工具“时髦”。请记住,任何跨平台工具都要求您在某一时刻编写特定于平台的代码,特别是如果您想编写自定义功能时。

其他回答

另外两个选择

Titanium Developer -免费社区版-使用HTML/JavaScript编写-使用Xcode编译(需要Mac或VM) OpenPlus ELIPS Studio -用Flex编写,在Xcode上编译(需要Mac或VM) -他们刚刚开始对他们的产品收费。

我认为可能会有“工具链”选项,这些选项允许你在Windows上编译成二进制文件,我看到你可以上传一个zip文件,并在网上完成工具链风格的编译,但这违反了苹果的授权。

如果我没有错的话,像Titanium这样输出/使用Xcode并且不使用任何第三方/替代/受限库的产品应该是合规的,因为你最终是在Xcode中编译的——普通的Objective-C代码和库。

正如已经指出的,你可以尝试使用WinChain,但如果你是一个新手,这将是不容易的。

iPhone SDK将在hackintosh(安装了OS X的普通PC)上运行。我知道,因为我有一个,它确实。

所以在你购买OSX许可证后,你可以尝试使用Boot-132或其他安装程序(如iDeneb)在你的PC上的不同驱动器上安装它。问题是,你将不得不做很多修补和事情仍然不会工作得很好。

Visual Studio + Xamarin将做这项工作。

不过,我还是建议你买台Mac电脑,用Xcode开发iOS应用。

在罗马,要像罗马人一样生活。

你可以在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#中使用对本机代码的特殊调用进行开发。你必须了解环境。

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