有没有办法在 Windows 机器上修改 iPhone SDK?是否有针对 Windows 的 iPhone SDK 版本的计划?
我能想到的唯一另一种方法是在 Windows 上运行的VMWare服务器上运行 Mac VM 映像,尽管我不太确定这是否合法。
It's certainly possible to develop on a Windows machine, in fact, my first application was exclusively developed on the old Dell Precision I had at the time :)
There are three routes;
The first route requires modifying (or using a pre-modified) image of Leopard that can be installed on a regular PC. This is not as hard as you would think, although your success/effort ratio will depend upon how closely the hardware in your PC matches that in Mac hardware - e.g. if you're running a Core 2 Duo on an Intel Motherboard, with an NVidia graphics card you are laughing. If you're running an AMD machine or something without SSE3 it gets a little more involved.
If you purchase (or already own) a version of Leopard then this is a gray area since the Leopard EULA states you may only run it on an "Apple Labeled" machine. As many point out if you stick an Apple sticker on your PC you're probably covered.
The second option is more costly. The EULA for the workstation version of Leopard prevents it from being run under emulation and as a result, there's no support in VMWare for this. Leopard server, however, CAN be run under emulation and can be used for desktop purposes. Leopard server and VMWare are expensive, however.
If you're interested in option 1) I would suggest starting at Insanelymac and reading the OSx86 sections.
I do think you should consider whether the time you will invest is going to be worth the money you will save though. It was for me because I enjoy tinkering with this type of stuff and I started during the early iPhone betas, months before their App Store became available.
Alternatively, you could pick up a low-spec Mac Mini from eBay. You don't need much horsepower to run the SDK and you can always sell it on later if you decide to stop development or buy a better Mac.
Update: You cannot create a Mac OS X Client virtual machine for OS X 10.6 and earlier. Apple does not allow these Client OSes to be virtualized. With Mac OS X 10.7 (Lion) onwards, Apple has changed its licensing agreement in regards to virtualization. Source: VMWare KnowledgeBase
Xamarin是一个不错的选择。它由 Microsoft 购买,现在直接内置到 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) 是来自 Google 的免费跨平台移动应用程序开发框架。在 Dart 中编写代码。
React Native (javascript) 是 Facebook 创建的另一个流行的跨平台框架。
请注意:对于所有这些选项,所有或大部分开发都可以在 Windows 上完成,但仍需要 MacOS 设备构建二进制文件以提交到 App Store。一种选择是购买便宜的 MAC Mini 来进行最终构建。
如果您有越狱的 iPhone,您可以通过 Cydia 将iphone-gcc 工具链安装到 iPhone 上,这样您就可以在 iPhone 上编译应用程序。以这种方式开发的应用程序仍然可以提交到 App Store。
尽管瓦尔迪兹先生说这是一个灰色地带(确实如此),但越狱非常容易,而且几乎没有风险。是的,它会使您的保修失效,但您可以进行恢复,他们永远不会知道。
大多数“没有 Mac 的 iOS 开发的所谓 Windows 解决方案”最后都需要 Mac 来签名并发送到应用商店。我检查了一些,但不是全部(谁有时间?)
最后,学习“他们的超级特别简单的无需Objective-C的iOS编程方法”实在是太麻烦了,他们有很多错误。在我看来,他们设定的目标确实是无法实现的。
还有很多时候,他们让你在另一种语言中简单地使用 Objective-C 等效语句。它们看起来一样,但总有一些细微的差异,你必须在 obj-c 之上学习。这也更没有意义,因为现在你必须学习更多,而不是少学。那么收益在哪里呢?而且它们的成本很高,因为它们很难开发。
许多人缺乏任何调试能力。
老实说,如果你是一名铁杆 iOS 开发人员,那么一定要购买最好的 Mac 并学习 Objective-c。这是昂贵的,需要时间,但如果这是你的道路,它是值得的。
对于偶尔使用,租用远程 Mac 服务会更容易,比如 XCodeClub.com
SDK 仅在 OS X 上可用,迫使您使用 mac。如果您不想购买 Mac,您可以在 Windows 机器上的虚拟机上运行 OS X,或者您可以在 PC 上安装 OS X。
以我的经验,虚拟机解决方案非常慢(在具有 2G 内存的 core2 duo 笔记本电脑上)。如果您想尝试它,请搜索 torrent。这可能不值得。
另一种选择是在您的 PC 上安装 OS X,通常称为 hackintosh。Hackintoshes 工作得很好——我的朋友刚刚卖掉了他的 mac,因为他的戴尔四核 hackintosh 实际上比苹果硬件快得多(成本大约是 1/3)。
当然,这两种选择都可能与某些许可方案背道而驰,因此风险自负。
您可以使用WinChain
引用项目页面:
这是在 Windows XP/Vista 计算机上构建 iPhone 工具链的最简单方法,反过来,它可以获取您使用其 UIKit 标头(包含在 winChain 中)编写的 Objective-C 源代码并将其编译成您可以使用的应用程序在你的 iPhone 上。
你不需要拥有一台 Mac,也不需要学习 Objective-C。您可以在不同的环境中进行开发,然后再编译成 Objective-C。
通过运行 osx 10.6(snow leopard) 为 iphone 和 ipad 开发
我们的一位开发人员撰写的这篇文章对使用 iBoot 在 Windows 上安装 OS X Snow Leopard、然后安装 Vmware(带有说明)、然后让您的 iPhone 开发环境运行......以及一些额外的有趣的事情进行了相当全面的演练。对我超级有帮助。
希望有帮助。它使用Phonegap,因此您可以一次在多个智能手机平台上进行开发。
您可以使用Tersus(免费、开源)。
一个开发工具包,允许人们Objective-C, C++
使用 Visual Studio 或仅使用纯 C 开发 iPhone 应用程序:
在iOS 构建环境中查看
您可以直接在 Visual Studio(2008、2010、Express)中构建 iPhone 应用程序。
非常简洁,它甚至IPA
在成功编译后为您的应用程序构建文件。该代码可以在越狱设备上正常工作,对于地球的其他地方,我相信最终编译和提交到 App Store 必须在 Mac 上完成。但是,它仍然使您能够使用知名的 IDE 进行开发。
当然,您可以在记事本或其他程序中编写 Objective-C 代码,然后将其移至 Mac 进行编译。
但说真的,这取决于您是在开发要放入 App Store 的官方应用程序,还是为越狱的 iPhone 开发应用程序。要编写官方应用程序,需要 Intel Mac 的 Apple iPhone SDK 似乎是唯一实用的方法。但是,有一个非官方的工具链可以为越狱的 iPhone 编写应用程序。您可以在 Linux 和 Windows 上运行它(使用 Cygwin)。
试试macincloud.com它允许您租用 Mac 并通过 RDP 远程控制访问它。然后,您可以使用您的 PC 访问 Mac,然后开发您的应用程序。
万岁!您现在可以使用最新的 Xamarin.iOS 更轻松地完成此操作,使用提供构建和部署功能的网络链接 mac。
有关更多详细信息,请参见此处:
如果您希望它是合法的,您有两个选择,基于云的 Mac 解决方案或跨平台开发工具。如果您不关心法律问题,您可以考虑使用 hackintosh 方法或虚拟机。如果您有一台不错的 PC,那么运行虚拟机将是最简单的方法。您可能永远不知道在 hackintosh 上哪些硬件会出现驱动程序问题。
我已经尝试了所有这些方法,它们各有利弊,但对于第二组,我感到有点内疚。我开发应用程序是为了谋生,我不想为此敲诈别人。
如果你正在做一个小项目,基于云的 Mac 可能会很有用。短时间租用它,开发您的项目,然后离开。不要费心学习任何新东西。
但是,如果您的项目越来越大,跨平台框架似乎是唯一的选择。关键是您需要明智地选择。混合框架有这么多,但他们所做的可以用一句话概括为“在应用程序包装器中显示网页”,开发人员对混合框架的负面体验也会影响原生框架。
我尝试了其中的三种(Titanium、Smartface 和 Xamarin),它们都声称能产生“真正的原生输出”,我认为它们的说法是正确的。需要自己去测试看看,原生的感觉不好描述。在之前的评论中,有人指出学习这些平台需要付出一些努力,但是一旦你了解了它们,你不仅可以开发 iOS 应用程序,还可以开发 Android 应用程序,所有这些都使用通用代码库。当然,它们比云 Mac 便宜得多。其中一些甚至是免费的。您只需要一台 Mac 来提交商店。
如果您了解 JavaScript,请尝试 Titanium 和 Smartface;如果您了解 C#,请尝试 Xamarin。请注意,对于设备模拟器,Titanium 依赖于 Mac,但 Smartface 有一个用于 Windows 开发的模拟器应用程序,它比我预期的要好。另一方面,Xamarin 要求网络中有 Mac。
如果你想创建 iPhone 应用但没有 Mac,那么你应该尝试http://www.pmbaty.com/iosbuildenv/
它允许您轻松开发原生 iOS 应用程序,例如 XCode,可部署在任何 iPhone、iPod 或 iPad(无论是否越狱)上。
使用您最喜欢的 IDE 在 Objective-C、C++、C 或 ARM 程序集中进行编码,就像在 XCode 中一样。支持 ARC 和块。
直接在 Visual Studio 中编译您的 iPhone 应用程序
它适用于 Windows 所有版本(XP、7、8)、FreeBSD 和 Linux
现在支持 iOS8。
看看这个:
它是一个试图将用多种源语言编写的程序交叉编译为多种目标语言的项目。最初的测试用例之一是用 Java 编写程序并在 iPhone 上运行它们。在网站上观看视频是值得的。
话虽如此,我还没有尝试过。该项目似乎是测试版,在他们的 SourceForge 网站上没有很多活动。
您可以使用英特尔 XDK开发和发布适用于 iOS 的应用程序,而无需使用 mac。
点击这里了解详情。
Oracle VirtualBox允许用户在虚拟机中安装 Mac OS X。如果您对它感到满意,您可以使用这种方式来使用 Xcode。如果你将你的mac“双启动”到windows,这是合法的,然后在windows(或linux)中安装VirtualBox。
其他可能性是交叉编译器,例如Appcelerator Titanium(HTML、CSS 和 JavaScript)或MonoTouch (.NET)。
您可以在 WINDOWS PC 上开发 IPHONE 应用程序。我已经用复杂的应用程序做到了。而且效果很好。您可以开发 iphone 应用程序,而无需使用 mac 或 iphone。
您可以使用 Sencha 或 JQTouch 或 mobi1 等工具在 Windows 上开发 HTML(或更好:HTML5)应用程序。(他们曾经有一段时间都是免费的)
然后使用 openSSL 对应用程序进行签名。和 Adobe PhoneGAP Build 服务来构建 iPhone App。
但是您需要 iphone 开发人员许可证才能将其安装在 iphone 上。但是您随时都不需要 mac 或 iphone 来编译、构建或测试它——所有这些都在 PC 上完成。
我已经做到了,而且效果很好。(但具有 Android 类型的响应能力 - 不如原生 iPhone 应用程序快)
您还可以使用巴比伦时代(大约公元前 300 年)运行 C 和 C++ 的程序,称为蜻蜓。如果您的应用程序有一个或两个交互性有限的屏幕和许多计算,那就去吧。它包括一个模拟器。您只需按一下按钮即可编译到 iphone。(不确定,但我认为无论如何您都需要开发人员许可证)
然后是 Xamarin。您使用 C# 进行开发,并对本机代码进行特殊调用。你必须学习环境。
您可以在 Windows 上使用 Sentenza 为 iPhone 制作应用程序。测试成功。这不是一个解决方案,而是一个很好的选择!
另外两个选项
Titanium Developer - 免费社区版 - 用 HTML/JavaScript 编写 - 使用 Xcode 编译(需要 Mac 或 VM)
OpenPlus ELIPS Studio——用 Flex 编写,在 Xcode 上编译(需要 Mac 或 VM)——然而,他们刚刚开始为他们的产品收费。
我认为这些和提到的其他一些选项可能有“工具链”选项,它们允许您在 Windows 上编译为二进制文件,而且我已经看到您可以上传一个 zip 文件并在线为您完成工具链样式编译,但这违反了苹果的许可。
如果我没记错的话,像 Titanium 这样输出/与 Xcode 一起工作并且不使用任何第 3 方/替代/受限库的产品应该是合规的,因为您最终是在 xcode 中编译的——普通的 Objective-C 代码和库。
正如已经指出的那样,您可以尝试使用 WinChain,但如果您是新手编码器,这并不容易。
iPhone SDK 可以在 Hackintoshes(一台安装了 OS X 的普通 PC)上运行。我知道我有一个,它确实如此。
因此,在您购买 OSX 许可证后,您可以尝试使用 Boot-132 或 iDeneb 等其他安装程序之一将其安装在您的 PC 上的不同驱动器上。这个问题你将不得不做很多修修补补,但事情仍然不能很好地工作。
现在使用Xamarin我们可以在Xamarin Live Player的帮助下在 Windows 机器上开发 iPhone 应用程序。
现在可以在没有 Apple 系统的情况下使用此 Xamarin 实时播放器开发/部署/调试周期。
但要签署和发布应用程序需要苹果系统。
在这里找到参考
我检查了参考没什么狡猾的
您可以在 PC 上安装 OSX,但体验不会很好,而且需要大量工作。另一种方法是使用框架/SDK Codename one:它基于 JAVA,可用于在 Windows (eclipse) 上的 WP8、Android、iOS 中编码,具有所有广泛的功能
功能概述:
使用 Java 开发 Android、iOS iPhone、WP8 应用程序的更多 信息 免责声明:这是我对该产品的评论
如果您想在 Windows 环境下开发应用程序,那么有一个选项,您可以在您的 Windows 中安装 MAC OS 平台名称为:“Niresh'MAC OS”,您可以在 Google 上搜索该文本
然后您可以下载整个 MAC OS 源并在您的 Windows PC 中轻松安装 MAC OS,Niresh 能够破解整个操作系统。
希望这会帮助你。
如果您可以通过 ssh 访问 Mac,那么您可以使用 VNC(如 Vine VNC,它允许一次多次使用 - 瘦瘦客户端)来控制 XCode。
如果您想从笔记本电脑访问 Mac Mini,或者您的 SO 占用了您的 MacBook,这可能会很有用。
使用跨平台工具在 Windows 上开发 iOS 应用
跨平台工具很棒:您只需编写一次应用程序,然后将其导出到 iOS 和 Android。这可能会将您的应用程序开发时间和成本减少一半。一些跨平台工具允许您在 Windows PC 上开发 iOS 应用程序,或者如果您的本地网络中有 Mac,则允许您编译应用程序。
好吧,没那么快……</p>
跨平台的工具生态系统非常庞大。一方面,您拥有完整的集成开发环境 (IDE),例如 Xamarin,允许您使用 C# 构建跨平台应用程序。
PhoneGap、Cordova、Ionic 和 Appcelerator 等工具涵盖了中间地带,这些工具可让您使用 HTML5 组件构建本机应用程序。远端包括较小的平台,例如 React Native,允许您使用 JavaScript 包装器编写本机应用程序。
所有跨平台工具的突出之处在于:它们对初学者不友好!与开始使用 Xamarin 相比,访问 Mac、学习 Swift 和构建简单的应用程序要容易得多。
大多数跨平台工具都要求您对编程、编译选项以及 iOS 和 Android 生态系统有基本的了解。这是您作为初学者开发人员所没有的东西!
话虽如此,让我们看几个选项:
如果您熟悉基于 Windows 的开发工具和 IDE,并且您已经知道如何编码,那么值得一试 Xamarin。借助 Xamarin,您可以使用 Mono 和 MonoTouch 框架在 C# 中为多个平台编写应用程序。如果您熟悉基于 Web 的开发,请查看 PhoneGap 或 Ionic。HTML 5、CSS 和 JavaScript 让您有宾至如归的感觉。不要忘记:本机应用程序的工作方式与网站不同……如果您熟悉 JavaScript,或者如果您更愿意学习编写 JavaScript 而不是 Swift,请查看 React Native。使用 React Native,您可以使用“包装器”为 iOS 和 Android 编写原生应用程序。总是故意选择跨平台工具,因为它是一个聪明的选择,而不是因为你认为原生平台语言不好。一个选项不正确的事实不会立即使另一个选项更聪明!
如果您不想加入专有的封闭式 Apple 世界,请不要忘记许多跨平台工具是由谷歌、Facebook、微软、Adobe 和亚马逊等同样邪恶的公司运营的。
一个经常听到的反对跨平台工具的论点是,它们提供对智能手机硬件的有限访问和支持,并且不如其本地同行“活泼”。请记住,任何跨平台工具都需要您在某一时刻编写特定于平台的代码,特别是如果您想编写自定义功能。
(截至 2014 年底准确)
要访问本机工具(Xcode 等),有两个主要选项:
1.虚拟机
寻找与修改后的 Vmware Workstation/Player 一起使用的 mavericks (10.9) vmware 映像。一旦机器能够启动,它可以更新到 10.9.5,没有明显问题。
优点:相对较低的学习曲线(如果您对 vms 有点熟悉)
坏处:由于虚拟化环境导致性能下降,没有 3d 加速(QE/CL)
2. 哈金托什
如果您计划采购新硬件(或至少部分采购),而不是改造现有设备(但您可能幸运地拥有已经为其编写了配方的常见 OEM 型号之一(如戴尔),那么这是明智的选择)
好处:硬件性能没有损失,甚至可能超过真正的 mac。如果您对多重引导开放,相同的硬件也可以用于其他操作系统
坏处:更高的学习曲线,更多的硬件限制(某些英特尔 wifi 等没有驱动程序),如果您最初无意购买新硬件,这可能会转化为更高的投资
不用说,水果公司不赞成上述两种选择,因此许可合规性不在讨论范围内。
3.一个实际的mac(2016年添加)
此选项非常适合已经拥有 Mac 并通过 Bootcamp 等将其用作 Windows 开发机器的人。这也具有最少的支持问题(除了可能由多重引导引起的并发症),因此建议那些寻找长期解决方案(不仅适用于当前 OSX 版本而且适用于未来版本的硬件)
正如许多人已经回答的那样,iPhone SDK 仅适用于 OS X,我相信 Apple 永远不会为 Windows 发布它。但是有几个替代环境/框架允许您开发 iOS 应用程序,甚至使用 windows 机器和 MAC 打包并提交到 AppStore。以下是最受欢迎和相对更好的选择。
PhoneGap,允许使用 HTML/CSS/JavaScript 创建基于 Web 的应用程序
Xamarin,C# 中的跨平台应用程序
Adobe AIR , 带有 Flash / ActionScript 的空中应用程序
Unity3D,跨平台游戏引擎
注意: Unity 需要 Xcode,因此需要 OS X 来构建 iOS 项目。
您可以尝试使用 HTML、JavaScript、CSS 为 iPhone 开发 Web 应用程序。查看 Apple 网站上的入门信息。
所以坏消息是它的 iOS 模拟器需要XCode以及它的应用程序加载器工具,以便将程序实际上传到 iOS 设备以进行“真实”测试。在提交到 App Store 之前,您需要 XCode 来签署您的应用程序。不幸的是,XCode 仅适用于 OS X。
但是,好消息是您可以购买 OS X 并在VMWare Workstation等虚拟机中运行它。我不知道这有多简单,因为让 OS X 在非 Apple 硬件上运行相当困难,但快速谷歌搜索表明这是可能的。这种方法(可能)比购买新 Mac 便宜,尽管Mac Mini在美国的零售价仅为 599 美元。我看到的一些帖子表明这可能合法也可能不合法,其他人说您需要 OS X Server 进行虚拟化。我将把研究留给你。
还有一些服务,如MacInCloud,允许您租用 Mac 服务器,您可以通过远程桌面或浏览器从 Windows 访问该服务器。不幸的是,我认为您不能使用 Application Loader,因为您必须将设备物理连接到您的计算机,但它至少可以用于开发和模拟。
祝你好运!
这是一个新工具:oxygen,您可以使用它来构建适用于 iOS/Mac、Windows RT/8 或 Android 的应用程序。它使用派生自 Object Pascal 和 Visual Studio 的特定语言(并使用 .net 或 java.)。它似乎真的很强大,但不是免费的。
还有来自制作 Ext JS 的公司的Sencha Architect和Sencha Touch。
Check out NS Basic/App Studio. It's Visual Basic for the iPhone. (though you can also code in JavaScript). It produces WebApps which can be distributed without going through the App Store. Apps will also run on other platforms, like Android. NS Basic/App Studio
请看一下 Xamarin。他们有 Visual Studio 的扩展 ( http://xamarin.com/visual-studio )。
取自他们的网站:
Xamarin 提供 Visual Studio 加载项,以便您可以在一个解决方案中开发您的 iOS、Android 和 Windows 应用程序。Xamarin 扩展支持在模拟器或设备上构建、部署和调试。
B4i 是一种新的开发工具,可以创建原生 iOS 应用程序。它在 Windows 上运行。当需要完整编译时(在大多数情况下不需要),项目将在托管构建器上编译。每次编译大约需要 5 秒。 B4i
我使用颤振。我在我的 Windows 机器上开发并在 Android 模拟器上进行测试。当我准备好在 iOS 上进行测试时,我会在 macOS 上运行代码。根据我的经验,Flutter 应用在 Android 和 iOS 上的运行方式完全相同。如果您没有 Mac,可以下载 VirtualBox 并在其上安装 macOS。在 VirtualBox 上,macOS 的运行与在真实 Mac 上的运行方式完全相同,您可以在其上构建您的应用程序。
没有人建议不要为这样一个非常封闭的平台开发,所以我走了,完全期待着被烧死,但我不在乎。
Apple 要求您在他们的操作系统上进行开发。他们的操作系统不会在没有在固件级别报告它们是实际 Apple 计算机的计算机上运行。Apple 经常采取伤害消费者和开发者的做法。甚至“授权维修中心”也无法为其硬件提供零件,因为他们的授权程序阻止任何人实际维修设备。YouTube 上的 Louis Rossmann 可以比我在这里更好地解释修复方面的问题。
苹果的手机是用童工制造的,工资很低,工作条件也很差,以至于工人所在的建筑物在建筑物周围安装了网,以捕捉企图自杀的人。
安装 Mac OS X 的非法破解副本的建议是荒谬的。首先,盗窃软件是违法的。其次,iAtkos 和朋友们往往像垃圾一样奔跑。第三,破解软件可以包含任意数量的后门,你永远不会知道。
我知道桌面 Mac 不能在任何 VM 平台上运行,或者如果可以,也不是没有大问题。如果你正在开发一个图形应用程序,那么无论如何你都会在 VM 上度过一段糟糕的时光。
我的建议是开发更开放的平台,并将苹果的产品踢进他们和公司所属的垃圾箱。
您可以使用 Java 为 iPhone 制作应用程序,Java 可以连接到网络。
只需制作一个网络应用程序。iOS 网络应用程序是: