有没有办法在Windows机器上修改iPhone SDK ?有针对Windows的iPhone SDK版本的计划吗?
我能想到的另一种方法是在运行Windows的VMWare服务器上运行Mac虚拟机映像,尽管我不太确定这是否合法。
有没有办法在Windows机器上修改iPhone SDK ?有针对Windows的iPhone SDK版本的计划吗?
我能想到的另一种方法是在运行Windows的VMWare服务器上运行Mac虚拟机映像,尽管我不太确定这是否合法。
当前回答
你可以使用WinChain
引用项目页面:
这是在Windows XP/Vista计算机上构建iPhone工具链的最简单方法,反过来,它可以获取你使用UIKit头文件(包含在winChain中)编写的Objective-C源代码,并将其编译成你可以在iPhone上使用的应用程序。
其他回答
还有来自制作Ext JS的公司的Sencha Architect和Sencha Touch。
(截至2014年底准确)
要访问本地工具(Xcode等),有两个主要选项:
1. 虚拟机
看看mavericks (10.9) vmware映像,它与修改后的vmware工作站/播放器一起工作。一旦机器能够启动,它就可以更新到10.9.5,没有明显的问题。
优点:相对较低的学习曲线(如果你对虚拟机比较熟悉的话)
缺点:由于虚拟化环境降低了性能,没有3d加速(QE/CL)
2. Hackintosh
这是一个明智的选择,如果你计划采购新的硬件(或至少部分),而不是改造现有的设备(但你可能很幸运,有一个常见的OEM模型(如戴尔),已经编写了食谱)
好处是:硬件性能不会受到影响,甚至可能超过真正的mac。如果你对多引导开放,同样的硬件也可以用于其他操作系统
坏处:更高的学习曲线,更多的硬件限制(某些英特尔wifi没有驱动程序等),如果你原本不打算购买新硬件,这可能会转化为更高的投资
不用说,上述两种选择都不受水果公司的欢迎,因此许可合规不在讨论范围之内。
3.一台真正的mac(2016年添加)
这个选项非常适合那些已经有一台mac并通过Bootcamp等将其用作Windows开发机器的人。这也有最少的支持问题(除了多重引导可能导致的并发症),所以建议那些寻求长期解决方案的人使用(硬件不仅适用于当前的OSX版本,而且适用于未来的版本)。
坏消息是它的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,因为你必须物理地将设备连接到你的计算机,但它至少可以用于开发和模拟。
好运!
Visual Studio + Xamarin将做这项工作。
不过,我还是建议你买台Mac电脑,用Xcode开发iOS应用。
在罗马,要像罗马人一样生活。
如果您有一个越狱的iPhone,您可以通过Cydia将iPhone -gcc工具链安装到iPhone上,这样您就可以在iPhone上编译应用程序。通过这种方式开发的应用程序仍然可以提交到App Store。
尽管瓦尔迪兹先生说这是一个灰色地带(事实确实如此),但越狱非常容易,而且几乎没有风险。是的,它使你的保修失效,但你可以做一个恢复,他们永远不会知道。