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

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


当前回答

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

其他回答

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

还有来自制作Ext JS的公司的Sencha Architect和Sencha Touch。

我用颤振。我在Windows机器上开发,在Android模拟器上测试。当我准备好在iOS上测试时,我在macOS上运行代码。根据我的经验,Flutter应用程序在Android和iOS上运行完全相同。如果你没有Mac,你可以下载VirtualBox并在上面安装macOS。在VirtualBox上,macOS的运行和真正的Mac完全一样,你可以在上面构建应用程序。

你可以使用WinChain

引用项目页面:

这是在Windows XP/Vista计算机上构建iPhone工具链的最简单方法,反过来,它可以获取你使用UIKit头文件(包含在winChain中)编写的Objective-C源代码,并将其编译成你可以在iPhone上使用的应用程序。

试试macincloud.com,它允许你租用一台mac电脑,并通过RDP远程控制访问它。然后你可以用你的PC连接到mac,然后开发你的应用程序。