有没有办法在Windows机器上修改iPhone SDK ?有针对Windows的iPhone SDK版本的计划吗?
我能想到的另一种方法是在运行Windows的VMWare服务器上运行Mac虚拟机映像,尽管我不太确定这是否合法。
有没有办法在Windows机器上修改iPhone SDK ?有针对Windows的iPhone SDK版本的计划吗?
我能想到的另一种方法是在运行Windows的VMWare服务器上运行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,因为你必须物理地将设备连接到你的计算机,但它至少可以用于开发和模拟。
好运!
其他回答
您可以使用Tersus(免费、开源)。
只要做一个网页应用。 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.
如果你想让它合法,你有两个选择,基于云的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。
B4i是一个新的开发工具,可以创建原生iOS应用程序。它在Windows上运行。 当需要完整编译时(在大多数情况下不需要),项目将在托管的构建器上编译。每次编译大约需要5秒。 B4i
另外两个选择
Titanium Developer -免费社区版-使用HTML/JavaScript编写-使用Xcode编译(需要Mac或VM) OpenPlus ELIPS Studio -用Flex编写,在Xcode上编译(需要Mac或VM) -他们刚刚开始对他们的产品收费。
我认为可能会有“工具链”选项,这些选项允许你在Windows上编译成二进制文件,我看到你可以上传一个zip文件,并在网上完成工具链风格的编译,但这违反了苹果的授权。
如果我没有错的话,像Titanium这样输出/使用Xcode并且不使用任何第三方/替代/受限库的产品应该是合规的,因为你最终是在Xcode中编译的——普通的Objective-C代码和库。