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

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


当前回答

这是一个新工具:oxygene,你可以用它来为iOS/Mac、Windows RT/8或Android开发应用。它使用派生自Object Pascal和Visual Studio的特定语言(并使用.net或java.)。它似乎真的很强大,但不是免费的。

其他回答

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

你可以使用WinChain

引用项目页面:

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

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

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

好运!

大多数所谓的“无需Mac的iOS开发Windows解决方案”都需要Mac在最后签名并发送到应用商店。我检查了一些,但不是全部(谁有时间?)

最后,学习“不用Objective-C就能编写iOS程序的超级简单方法”实在是太麻烦了,它们有很多bug。在我看来,他们设定的目标是无法实现的。

很多时候,它们会让你用另一种语言使用Objective-C的等价语句。它们看起来差不多,但总有细微的区别,你必须在obj-c的基础上学习。这也更没有意义了,因为现在你必须学得更多,而不是学得更少。那么收益在哪里呢? 而且它们的成本很高,因为它们很难开发。

许多人缺乏任何调试能力。

在我看来,如果你是一名铁杆iOS开发者,那么你一定要购买最好的Mac并学习objective-c。这是昂贵的,需要时间,但如果这是你的道路,它是值得的。

对于偶尔使用的用户来说,租用远程Mac服务(如XCodeClub.com)会更容易一些