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

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


当前回答

看看这个:

在视图

它是一个尝试将用多种源语言编写的程序交叉编译为多种目标语言的项目。最初的测试用例之一是用Java编写程序并在iPhone上运行。在网站上观看视频是值得的。

话虽如此,我还没试过。该项目似乎还处于测试阶段,在SourceForge网站上并没有太多活动。

其他回答

你可以尝试使用HTML, JavaScript, CSS为iPhone开发网页应用。在苹果网站上查看入门信息。

正如许多人已经回答的那样,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项目。

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

好运!

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

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

如果你想让它合法,你有两个选择,基于云的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。