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

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


当前回答

你不需要拥有一台Mac,也不需要学习Objective-C。您可以在不同的环境中开发,然后编译成Objective-C。

运行osx 10.6为iPhone和iPad开发(snow leopard)

我们的一名开发人员写的这篇文章相当全面地介绍了在Windows上使用iBoot安装OS X Snow Leopard,然后安装Vmware(有说明),然后启动iPhone开发环境……还有一些额外有趣的东西。对我很有帮助。

希望这能有所帮助。它使用Phonegap,所以你可以同时在多个智能手机平台上开发。

其他回答

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

只要做一个网页应用。 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.

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

一个开发工具包,允许开发iPhone应用程序在Objective-C, c++或纯C与Visual Studio:

请在iOS build env中查看

你可以直接在Visual Studio (2008, 2010, Express)中构建iPhone应用。

非常简洁,它甚至在成功编译后为你的应用程序构建IPA文件。代码在越狱设备上运行正常,而在其他设备上,我认为最终的编译和提交到App Store必须在Mac上完成。但它仍然允许你使用知名的IDE进行开发。

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