如何使用 Windows 开发计算机进行 iPhone 开发?

How can I develop for iPhone using a Windows development machine?

提问人: 提问时间:8/22/2008 最后编辑:6 revs, 6 users 36%ryan 更新时间:6/24/2023 访问量:1137922

问:

想改进这篇文章吗?提供此问题的详细答案,包括引文和解释为什么您的答案是正确的。没有足够细节的答案可能会被编辑或删除。

有没有办法在 Windows 机器上修补 iPhone SDK?是否有适用于 Windows 的 iPhone SDK 版本计划?

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

iOS版 iPhone 版、视窗

评论

27赞 Samuel Katz 1/2/2013
macincloud.com 怎么样?:)
4赞 ababab5 9/27/2014
您可以使用 Unity3D。您可以使用它为所有移动平台进行开发,只需 1 次开发。
7赞 ToolmakerSteve 12/4/2015
或者不要费心尝试在 Windows 上运行它:购买翻新的“Mac mini”。apple.com/shop/browse/home/specialdeals/mac/mac_mini 或谷歌“购买翻新的 Mac mini”。连接您现有的显示器,并使用无线键盘和鼠标(我使用罗技的,它使用他们的 Unify USB 接收器)。
7赞 Richard de Wit 1/12/2016
“只买一台 mac”?我使用的是MacBook Pro,但我真的很不喜欢在OS X中工作。我宁愿使用 Linux。
2赞 Jon Limjap 8/22/2008
Mono 的 Miguel de Icaza 发布了关于在 iPhone 上使用和编译 Mono(.NET Framework 的 Linux 端口)的文章。

答:

537赞 9 revs, 8 users 58%Andrew Grant #1

当然可以在 Windows 机器上进行开发,事实上,我的第一个应用程序是专门在我当时拥有的旧 Dell Precision 上开发的:)

有三条路线;

  1. 在第二个分区/磁盘上安装 OSx86(又名 iATKOS / Kalyway)并双启动。
  2. 在 VMWare 下运行 Mac OS X Server(Mac OS X 10.7 (Lion) 及更高版本,请阅读下面的更新)。
  3. 使用框架和/或工具集,允许在 Windows 上进行开发,例如带有 mac-in-cloud 服务的 Delphi XE4,无需 MacOS 设备即可构建。这是一个商业工具集,但对组件和库的支持正在增长。

    其他荣誉奖是 FlutterXamarin 和类似;最终可能需要实际的 MacOS 设备进行最终构建(但在此之前您可以在 Android 上进行测试,因为它们是跨平台的)。

第一种方式需要修改(或使用预先修改的)Leopard映像,该映像可以安装在常规PC上。这并不像你想象的那么难,尽管你的成功/努力比率将取决于你电脑中的硬件与Mac硬件的匹配程度--例如,如果你在英特尔主板上运行酷睿2双核,使用NVidia显卡,你在笑。如果您运行的是 AMD 机器或没有 SSE3 的东西,它会变得更加复杂。

如果您购买(或已经拥有)Leopard版本,那么这是一个灰色地带,因为Leopard EULA规定您只能在“Apple Labeled”机器上运行它。正如许多人指出的那样,如果您在 PC 上贴上 Apple 贴纸,您可能会被覆盖。

第二种选择成本更高。Leopard 工作站版本的 EULA 阻止它在仿真下运行,因此,VMWare 不支持此功能。但是,Leopard 服务器可以在仿真下运行,并可用于桌面目的。然而,Leopard 服务器和 VMWare 价格昂贵。

如果您对选项 1) 感兴趣,我建议从 Insanelymac 开始阅读 OSx86 部分。

我确实认为你应该考虑你将投入的时间是否值得你节省的钱。这对我来说是因为我喜欢摆弄这类东西,而且我是在早期的 iPhone 测试版期间开始的,在他们的 App Store 上市前几个月。

或者,您可以从 eBay 购买低规格的 Mac Mini。你不需要太多的马力来运行SDK,如果你决定停止开发或购买更好的Mac,你可以随时出售它。

更新:您无法为 OS X 10.6 及更低版本创建 Mac OS X 客户端虚拟机。Apple 不允许虚拟化这些客户端操作系统。从 Mac OS X 10.7 (Lion) 开始,Apple 更改了其有关虚拟化的许可协议。来源:VMWare 知识库

评论

0赞 Dmitri Nesteruk 12/19/2008
OSX 在 VM 中运行,因此理论上是可能的。但是,也存在一些问题。在OSX的VM(我说的是VMWare)中获得网络支持是非常困难的。此外,整个事情会非常缓慢,我不认为这是向它扔 RAM 的情况。
0赞 Zakaria 10/28/2012
@DennisPalmer我不会推荐这个购买,因为便宜的英特尔酷睿 2 双核 Mac Mini 速度很慢,而且通常没有键盘 + 鼠标。我认为只需 650 美元,您就可以获得一台非常酷的 Macbook(pro 或 air),配备 4 GB 内存。
14赞 Goulash 5/16/2013
我只想指出,只要您的RAM不超过32 GB,使用VMWare ESX就是免费的,您的回答是运行VMWare非常昂贵:/
13赞 sudo 6/3/2014
没有冒犯,但这听起来像是比它值得的麻烦多得多。旧 Mac 在 eBay 上很便宜,可以很好地运行 Xcode。
1赞 Jake 3/15/2021
使用 VirtualBox 而不是 VMWare,因为它是免费的。将您的设备与 VirtualBox 同步以将应用程序传输到 iPhone 时,您可能会遇到一些麻烦。在这种情况下,您可以使用 diawi.com 转移 IPA。
57赞 2 revs, 2 users 60%dawnerd #2

您可以使用WinChain

引用项目页面:

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

评论

1赞 BlueShark 1/6/2015
那么,这是免费使用的,您可以开发可以放在Apple Store上的iOS应用程序吗?
60赞 4 revs, 4 users 62%Parand #3

该 SDK 仅在 OS X 上可用,因此强制您使用 Mac。如果您不想购买 Mac,您可以在 Windows 机器上的虚拟机上运行 OS X,也可以在 PC 上安装 OS X。

根据我的经验,虚拟机解决方案的速度非常慢(在具有 2G 内存的 core2 duo 笔记本电脑上)。如果您想尝试一下,请搜索种子。这可能不值得。

另一种选择是在PC上安装OS X,通常称为hackintosh。Hackintoshes 运行良好 - 我的朋友刚刚卖掉了他的 Mac,因为他的戴尔四核 hackintosh 实际上比苹果硬件快得多(成本约为 1/3)。

当然,这两种选择都可能与某些许可方案背道而驰,因此请自行承担风险。

评论

2赞 prusswan 10/2/2014
Hackintosh 信息很容易过时,最好关注专门针对该主题的网站(例如戴尔型号的 OSXLity)
156赞 5 revs, 3 users 50%David Pearce #4

如果您有越狱的iPhone,您可以通过Cydia将iphone-gcc工具链安装到iPhone上,这样您就可以在iPhone上编译应用程序。以这种方式开发的 App 仍然可以提交到 App Store。

尽管瓦尔迪兹先生说这是一个灰色地带(确实如此),但越狱非常容易,而且几乎没有风险。是的,它使您的保修失效,但您可以进行恢复,他们永远不会知道。

评论

19赞 sudo 6/3/2014
刚刚更新:越狱不再使您的保修失效,至少在美国不会。
3赞 Josh Hunt 6/4/2014
@9000有来源吗?尽管越狱不再违反DCMA(无论如何苹果从未强制执行过),并且可能会也可能不会使保修失效(这是故意含糊不清的),但它确实违反了EULA,苹果将拒绝在越狱设备上提供服务 support.apple.com/kb/HT3743
1赞 JoelFan 11/24/2014
如果您使用iTunes - Restore将设备恢复到越狱前的状态,他们如何拒绝服务?他们无法检测到它曾经被越狱
2赞 AStopher 10/16/2015
@JoelFan iOS 可能与 Android 有同样的东西;一个“闪光灯”。它存储在 NVRAM 中,每次擦除时都会递增,这意味着可以检测它是否已刷新或植根。iOS设备可能有同样的东西(事实上,如果它们没有,我会感到惊讶)。system
6赞 Harry Ninh 10/3/2016
我拒绝谷歌 Valdez 先生。如果有人能告诉我们,我会有义务的。
9赞 2 revs, 2 users 82%Some Guy #5

看看这个:

概览

这是一个试图将用各种源语言编写的程序交叉编译为各种目标语言的项目。最初的测试用例之一是用 Java 编写程序并在 iPhone 上运行它们。在网站上观看视频是值得的。

话虽如此,我还没有尝试过。这个项目看起来很测试,他们的 SourceForge 网站上没有太多活动。

评论

0赞 2/4/2019
这个项目似乎已经死了。该项目网站将其描述为“目前处于早期开发阶段”,自 2014 年以来没有提交到他们的源代码存储库。
19赞 Mehrdad Afshari #6

当然,你可以在记事本或其他程序中编写 Objective-C 代码,然后将其移动到 Mac 上进行编译。

但说真的,这取决于您是在开发官方应用程序以放入 App Store 还是为越狱的 iPhone 开发应用程序。要编写官方应用程序,需要 Intel Mac 的 Apple iPhone SDK 似乎是唯一实用的方法。但是,有一个非官方的工具链可以为越狱的 iPhone 编写应用程序。您可以在 Linux 和 Windows 上运行它(使用 Cygwin)。

6赞 2 revs, 2 users 89%Roger Roger #7

如前所述,您可以尝试使用WinChain,但如果您是新手编码员,这并不容易。

iPhone SDK 可以在 Hackintoshes(安装了 OS X 的普通 PC)上运行。我知道我有一个,它确实如此。

因此,在您购买 OSX 许可证后,您可以尝试使用 Boot-132 或其他安装程序之一(如 iDeneb)将其安装在您的 PC 上的不同驱动器上。这个问题你将不得不做很多修补,但事情仍然不能正常工作。

18赞 2 revs, 2 users 57%NANNAV #8

您很快就能用它来创建应用程序:Adobe Flash CS 5iPhoneWindows

闪光灯 5

适用于 iPhone 的 FlashCS5 应用程序

196赞 23 revs, 9 users 45%jjxtra #9

Xamarin 是一个不错的选择。它被 Microsoft 购买,现在直接内置到 Visual Studio 中。您使用 C# 编写代码。通过他们添加的所有更新和功能,您可以做任何事情,但从 Windows 提交到 App Store,甚至可以编译、构建和部署到 iOS 设备。

对于游戏,Unity 3D 是一个不错的选择。该编辑器可以免费用于开发,甚至可以用于分发(如果您的年收入低于 100K 美元)。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 来进行最终构建。

评论

0赞 hiddentao 5/18/2010
我正在使用 Airplay 开发一款跨平台游戏。好消息是,他们可能完全符合新的iPhone OS 4.0条款和条件。查看 airplaysdk.com/node/672
7赞 Wytze 3/16/2012
Phonegap 很棒,但你不能完全在 Windows PC 上开发你的应用程序,然后只是在 iMac 上签名并希望得到最好的结果。除非你的应用是 HelloWorld 类型,否则你确实需要测试和调试。
4赞 Mark Cheverton 5/14/2012
有一个名为 Nomad 的 Visual Studio 扩展,它确实支持通过将 PhoneGap 构建推送到云服务来完全在您的 PC 上进行开发。
3赞 Jamie 2/12/2013
我不相信果酱是免费的,许可条款已经改变。
4赞 5/26/2016
除非网络上有一些 MAC PC,否则无法使用 Xamarian
7赞 KloéLo #10

您可以在 Windows 上使用 Sentenza 为 iPhone 制作应用程序。 测试成功。 这不是一个解决方案,但是一个很好的选择!

评论

0赞 2/4/2019
Sentenza for iOS 似乎不再存在。我能找到的只是 sentenzadesktop.com——这是针对桌面的,而不是 iOS,并且自 2014 年以来一直没有更新过。
23赞 Ofer Brandes #11

您可以使用 Tersus(免费、开源)。

评论

6赞 tensaix2j 2/17/2014
不。对于本机应用程序,您仍然需要一台 Mac 来编译和部署。
8赞 3 revs, 3 users 58%Peter Mortensen #12

Oracle VirtualBox 允许用户在虚拟机中安装 Mac OS X。如果你对它感到满意,你可以用这种方式来使用 Xcode。如果您将 mac “双启动”到 Windows,然后在 Windows(或 linux)中安装 VirtualBox,这是合法的。

其他可能性是交叉编译器,例如 Appcelerator Titanium(HTML、CSS 和 JavaScript)或 MonoTouch(.NET)。

评论

1赞 Martin Erhardt 3/22/2012
使用虚拟机是非法的,不是吗?
1赞 techieWings 2/10/2014
非法方式不被欣赏
2赞 fb55 3/6/2014
当您将 Windows 作为 Mac 上的唯一系统运行时,这绝对是合法的。
0赞 EriK 9/24/2019
我有一个装有 MacOS 的虚拟机,但我无法在真实设备上部署我的应用程序
2赞 Konstantin Grushetsky #13

您可以尝试使用 HTML、JavaScript、CSS 为 iPhone 开发 Web 应用程序。在 Apple 网站上查看入门信息。

评论

0赞 Konstantin Grushetsky 6/17/2010
我刚刚找到了一款名为MobiOne Studio的软件。正如网站上所说:“MobiOne Studio - iPhone 应用程序和 Web 应用程序设计器以及带有 iPhone 模拟器的 iPhone 测试中心,使您能够在几分钟内创建、自定义和运行 iPhone 用户界面,而不是几天。也许它会对你有所帮助。链接:genuitec.com/mobile
7赞 2 revs, 2 users 80%Scott Szretter #14

另外两个选项

  1. Titanium Developer - 免费社区版 - 用 HTML/JavaScript 编写 - 使用 Xcode 编译(需要 Mac 或 VM)

  2. OpenPlus ELIPS Studio - 用 Flex 编写,在 Xcode 上编译(需要 Mac 或 VM) - 然而,他们刚刚开始为他们的产品收费。

我认为这些和提到的其他一些选项可能有“工具链”选项,它们允许您在 Windows 上编译为二进制文件,并且我已经看到您可以上传 zip 文件并在线为您完成工具链样式编译,但这违反了 Apple 许可。

如果我没记错的话,像 Titanium 这样输出/使用 Xcode 并且不使用任何第三方/替代/受限库的产品应该是合规的,因为您最终是在 xcode 中编译 - 普通的 Objective-C 代码和库。

28赞 3 revs, 3 users 63%Maurice #15

你不需要拥有一台 Mac,也不需要学习 Objective-C。您可以在不同的环境中进行开发,并在以后编译成 Objective-C。

通过运行 OSX 10.6 为 iPhone 和 iPad 开发(Snow Leopard)

我们的一位开发人员撰写的这篇文章非常全面地介绍了如何使用 iBoot 在 Windows 上安装 OS X Snow Leopard,然后安装 Vmware(附说明),然后让您的 iPhone 开发环境继续运行......还有一些额外的多汁的东西。对我超级有帮助。

希望能有所帮助。它使用 Phonegap,因此您可以同时在多个智能手机平台上进行开发。

18赞 MacDaemon #16

尝试 macincloud.com 它允许您租用 mac 并通过 RDP 远程控制访问它。然后,你可以使用 PC 访问 Mac,然后开发应用。

3赞 2 revs, 2 users 80%wisty #17

如果您可以通过 SSH 访问 Mac,则可以使用 VNC(如 Vine VNC,它允许一次多次使用 - 瘦瘦客户端)来控制 XCode。

如果您想从笔记本电脑访问 Mac Mini,或者您的 SO 占用了您的 MacBook,这可能很有用。

0赞 2 revs, 2 users 67%NANNAV #18

查看 NS Basic/App Studio。它是 iPhone 的 Visual Basic。(尽管您也可以使用 JavaScript 编写代码)。它生成 WebApp,无需通过 App Store 即可分发。应用程序也将在其他平台上运行,例如 Android。 NS Basic/App Studio

22赞 2 revs, 2 users 74%priamos #19

一个 devkit,允许使用 Visual Studio 使用或仅使用 Visual Studio 开发纯 C 语言的 iPhone 应用:Objective-C, C++

iOS build env 中查看

可以直接在 Visual Studio(2008、2010、Express)中生成 iPhone 应用。

非常简洁,它甚至可以在成功编译后为您的应用程序构建文件。代码在越狱设备上按原样工作,对于地球的其他地方,我相信最终的编译和提交到App Store必须在Mac上完成。但是,它仍然使您能够使用众所周知的 IDE 进行开发。IPA

5赞 Eir Nym #20

是的,你不需要学习Objective-C,也不需要购买苹果的软件和硬件。

Adobe 已经创建了从 ActionScript 3 到 iOS 程序的编译器。后来 Apple 批准了这种应用程序创建方法。

这是在 Windows 或 Linux/BSD 下创建 Apple 应用程序的最佳方式(以及另一种用于 MacOS-X 的应用程序)

8赞 Very Objective #21

有趣的是,没有人提到跨平台的 wxWidgets 选项。

不过,这并不是一个最佳解决方案。

恕我直言,最明智的做法是将资金投资于 Apple 认可的框架。这样一来,如果你发现自己遇到了一些令人难以置信的问题,你就有一个更大的开发者社区可以咨询。

1赞 Druid #22

还有 Sencha ArchitectSencha Touch,来自制作 Ext JS 的公司。

85赞 14 revs, 6 users 88%Rachel Henderson #23

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

最后,学习“他们在没有 Objective-C 的情况下对 iOS 进行编程的超级特殊简单方法”实在是太麻烦了,他们有很多错误。在我看来,他们设定的目标确实是无法实现的。

此外,很多时候它们会让你简单地在另一种语言中使用 Objective-C 等效语句。它们看起来差不多,但总有一些细微的差异,你必须在 obj-c 之上学习。这也更没有意义,因为现在你不必学得更少,而是要学得更多。那么收益在哪里呢? 此外,它们的成本很高,因为它们很难开发。

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

老实说,如果你是一个铁杆的iOS开发者,那么一定要买最好的Mac并学习objective-c。这很昂贵,需要时间,但如果这是你的道路,那是值得的。

对于偶尔使用,租用远程 Mac 服务会更容易,例如 XCodeClub.com

评论

1赞 Ignitor 10/28/2012
我对PhoneGap不够熟悉,无法写评论,但我喜欢这个想法:用广泛的技术HTML5 + JavaScript编写的跨平台应用程序。
1赞 Prof. Falken 5/6/2013
[VirtualMacOSX.com][1] 有 xCode 开发计划,从(截至目前)每月 10 美元起。我相信其他人也有。[1]:virtualmacosx.com/index.php/xcode-plans
0赞 Alex Beardsley 8/4/2015
我甚至不知道这项服务的存在。我只想探索和玩弄它,现在准备放弃做所有这些疯狂的解决方法,但这要容易得多。很棒的提示!
0赞 Martin Schneider 4/18/2018
“现在 [...]你必须了解更多。而且他们花了很多钱[...]”.....“买最好的Mac,学习Objective-C。这很昂贵,而且需要时间[...]”结论:无论哪种情况,iOS 开发都成本高昂且需要时间。;)
8赞 pashute #24

您可以在 WINDOWS PC 上开发 IPHONE 应用程序。我已经用复杂的应用程序做到了。而且效果很好。您可以在不使用 mac 或 iphone 的情况下开发 iphone 应用程序。

您可以在 Windows 上使用 Sencha 或 JQTouch 或 mobi1 等工具开发 HTML(或更好的是 HTML5)应用程序。(他们曾经有一段时间都是自由的)

然后,使用 openSSL 对应用进行签名。以及Adobe PhoneGAP Build服务来构建iPhone应用程序。

但是您需要 iphone 开发人员许可证才能将其安装在 iphone 上。但是你不需要任何时候的Mac或iPhone来编译、构建或测试它--所有这些都是在PC上完成的。

我已经做到了,而且效果很好。(但具有 Android 类型的响应能力 - 不如原生 iPhone 应用程序快)

您还可以使用巴比伦时代(大约公元前 300 年)运行 C 和 C++ 的程序,称为 dragonfly。如果您的应用有一个或两个交互性有限的屏幕,并且计算量很大,那就去做吧。它包括一个模拟器。只需按一下按钮,即可编译到 iphone。(不确定,但我认为您无论如何都需要开发人员许可证)

然后是 Xamarin。在 C# 中进行开发,并对本机代码进行特殊调用。你必须学习环境。

评论

0赞 mico 2/2/2015
好吧,您可以使用 PC 开发应用程序,但为 Apple 商店构建数据包需要访问 Mac 或 PC 之外的某些服务,这构成了这部分。至少我没有收到任何包到发布文件夹,尽管项目设置为发布版本。
4赞 Apple #25

如果你想在Windows环境中开发一个应用程序,那么有一个选项,你可以在你的Windows平台名称中安装MAC OS是:“Niresh'MAC OS”,你可以在谷歌上搜索该文本

然后,您可以在Windows PC中下载整个MAC OS源并轻松安装MAC OS,Niresh能够破解整个操作系统。

希望这对你有所帮助。

4赞 Taranfx #26

您可以在PC上安装OSX,但体验不会很好,并且需要大量工作。另一种方法是使用框架/SDK 代号:它基于 JAVA,可用于在 Windows (eclipse) 上的 WP8、Android、iOS 中编码,具有所有广泛的功能

功能概述:

  1. 完整的Android环境,具有超快的Android模拟器
  2. iPhone / iPad模拟器,可在几分钟内轻松将iPhone应用程序带到大屏幕iPad上。
  3. 完全支持标准 java 调试,对任何平台上的应用程序进行性能分析。
  4. 简单的主题/样式 - 只需点击一下即可

更多内容请见使用 Java 开发 Android、iOS iPhone、WP8 应用程序 免责声明:这是我对该产品的评论

12赞 2 revs, 2 users 67%Mark Gibaud #27

万岁!现在,可以使用最新的 Xamarin.iOS 更轻松地完成此操作,使用提供生成和部署功能的网络链接 mac。

有关详细信息,请参阅此处:

Xamarin iOS for Visual Studio 简介

评论

0赞 Rizwan 1/31/2023
Xamarin 是一件痛苦的事情。在 Xamarin (.form / .iOS / .Android)很差。如果您打算选择跨平台形式,那么 react-native 是目前(~2023 年)最好的可用选项。
1赞 3 revs, 2 users 78%Red Mak #28

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

1赞 Prashant Nikam #29

因此,坏消息是 XCode 需要它的 iOS 模拟器以及它的 Application Loader 工具,以便将程序实际上传到 iOS 设备进行“真实”测试。在提交到 App Store 之前,您需要 XCode 对 App 进行签名。不幸的是,XCode 仅适用于 OS X。

但是,好消息是您可以购买OS X并在VMWare Workstation等虚拟机中运行它。我不知道这有多简单,因为让OS X在非Apple硬件上运行是相当困难的,但快速的Google搜索表明这是可能的。这种方法(可能)比购买新 Mac 便宜,尽管 Mac Mini 在美国的零售价仅为 599 美元。我看到的一些帖子表明这可能是合法的,也可能是不合法的,另一些帖子则说你需要OS X Server进行虚拟化。我把研究留给你。

还有一些服务,例如MacInCloud,允许您租用Mac服务器,您可以通过远程桌面或浏览器从Windows访问该服务器。不幸的是,我认为您无法使用 Application Loader,因为您必须将设备物理连接到计算机,但它至少适用于开发和模拟。

祝你好运!

0赞 gfdx #30

请看一下 Xamarin。它们具有 Visual Studio (http://xamarin.com/visual-studio) 的扩展。

取自他们的网站:

Xamarin 提供 Visual Studio 加载项,以便你可以在单个解决方案中开发 iOS、Android 和 Windows 应用。Xamarin 扩展支持在模拟器或设备上生成、部署和调试。

评论

3赞 TonySalimi 3/8/2014
但适用于 iPhone 的 Xamarin 开发需要 Xamarin mac 版。
9赞 2 revs, 2 users 91%Hemant Singh Rathore #31

您可以使用英特尔 XDK,在没有 mac 的情况下开发和发布适用于 iOS 的应用程序。

点击这里了解详情。

评论

0赞 Alfonso Fernandez-Ocampo 10/12/2016
您是否需要了解 Objective C 语言才能使用英特尔 XDK?
0赞 2/4/2019
XDK 已于 2017 年停产,不再可用。
2赞 3 revsSeryozha #32

正如许多人已经回答的那样,iPhone SDK 仅适用于 OS X,我相信 Apple 永远不会为 Windows 发布它。但是有几种替代环境/框架允许您开发 iOS 应用程序,甚至可以使用 Windows 机器和 MAC 打包并提交到 AppStore。以下是最受欢迎和相对更好的选择。

PhoneGap,允许使用 HTML/CSS/JavaScript 创建基于 Web 的应用程序

Xamarin,C# 中的跨平台应用

Adobe AIR、带有 Flash / ActionScript 的 air 应用程序

Unity3D,跨平台游戏引擎

注意:Unity 需要 Xcode,因此需要 OS X 来构建 iOS 项目。

评论

1赞 benbot 5/25/2014
你不能使用 unity 在 Windows 上制作 iphone 游戏,因为你仍然需要 xcode 来编译项目 unity 导出。
2赞 4 revsprusswan #33

(截至2014年底)

要访问本机工具(Xcode 等),有两个主要选项:

1. 虚拟机

环顾四周,寻找可与修改后的 Vmware Workstation/Player 配合使用的 mavericks (10.9) vmware 映像。一旦计算机能够启动,就可以将其更新到 10.9.5,而不会出现明显的问题。

优点:相对较低的学习曲线(如果您对 vm 有点熟悉)

缺点:由于虚拟化环境导致性能下降,没有 3D 加速 (QE/CL)

2. 哈金托什

如果您计划采购新硬件(或至少部分),而不是改造现有设备,这是明智的选择(但您可能很幸运,拥有已经为其编写配方的常见 OEM 型号之一(如戴尔)

好处:硬件性能没有损失,甚至可能超过真正的 Mac。如果您愿意进行多重引导,也可以将相同的硬件用于其他操作系统

坏处:更高的学习曲线,更多的硬件限制(某些英特尔wifi等没有驱动程序),如果您最初无意购买新硬件,这可能会转化为更高的投资

毋庸置疑,上述两种选择都受到水果公司的反对,因此许可合规性不是讨论的一部分。

3. 一台真正的 mac(2016 年添加)

此选项非常适合已经拥有 mac 并通过 Bootcamp 等将其用作 Windows 开发机器的人。这也具有最少的支持问题(除了多引导可能导致的复杂性),因此建议那些寻求长期解决方案的人使用(硬件不仅适用于当前OSX版本,也适用于未来版本)

评论

0赞 AnthonyLambert 7/30/2015
不确定某些工具许可代码是否适用于 Hackintoshes......他们使用一些 API 从机器硬件(如 HD ids 等)创建机器哈希密钥。例如,我相信 Xamarin 无法在某些 Hackintosh 盒子上工作。如果在 Windows PC 上使用 Visual Studio 中的 Xamarin,请从 ebay 购买最便宜的 Intel Mac Mini 作为生成计算机。
0赞 Erel #34

B4i 是一种新的开发工具,用于创建原生 iOS 应用程序。它运行在Windows上。 当需要完整编译时(在大多数情况下不是必需的),项目将在托管构建器上编译。每次编译大约需要 5 秒。B4i系列

10赞 Oscar Acevedo #35

如果您想创建 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。

评论

3赞 Allison 7/12/2015
根据 SO 政策,您能否透露您与推荐网站的隶属关系?
11赞 OZY #36

如果您希望它是合法的,您有两种选择,基于云的 Mac 解决方案或跨平台开发工具。 如果您不关心法律问题,您可以考虑 hackintosh 方法或虚拟机。如果你有一台像样的PC,运行虚拟机将是最简单的方法。您可能永远不知道哪些硬件会在 hackintosh 上出现驱动程序问题。

我尝试了所有这些方法,它们都有优点和缺点,但对于第二组,我感到有点内疚。我开发应用程序是为了谋生,我不想为此敲诈别人。

如果您正在制作一个小项目,基于云的 Mac 可能会很有用。租一小段时间,开发你的项目,然后你就走了。不要费心学习任何新东西。

但是,如果您的项目越来越大,跨平台框架似乎是唯一的选择。关键是你需要明智地选择。混合框架太多了,但它们的作用可以用一句话来概括为“在应用程序包装器中显示网页”,开发人员对混合框架的负面体验也会影响原生框架。

我尝试了其中的三个(Titanium、Smartface 和 Xamarin),它们都声称可以产生“真正的原生输出”,在我看来,他们的说法是正确的。你需要测试并看到它你的rlf,要描述原生的感觉并不容易。在之前的评论中,有人指出学习这些平台需要一些努力,但是一旦您了解了它们,您不仅可以开发 iOS 应用程序,还可以开发 Android 应用程序,所有这些都使用通用代码库。当然,它们比云 Mac 便宜得多。其中一些甚至是免费的。您只需要一台 Mac 才能提交应用商店。

如果你了解 JavaScript,请尝试 Titanium 和 Smartface,如果你了解 C#,请尝试 Xamarin。请注意,对于设备模拟器,Titanium 依赖于 Mac,但 Smartface 有一个用于 Windows 开发的模拟器应用程序,它的效果比我预期的要好。另一方面,Xamarin 需要网络中的 Mac。

6赞 Durai Amuthan.H #37

现在使用 Xamarin,我们可以借助 Xamarin Live Player 在 Windows 机器本身中开发 iPhone 应用程序。

现在,无需 Apple 系统即可使用此 Xamarin 实时播放器开发/部署/调试周期

但是要签署和发布应用程序,需要Apple系统

在此处查找参考资料

我检查了参考资料,没有什么狡猾的

2赞 Karoly Nyisztor #38

Visual Studio + Xamarin 将完成这项工作。

Visual Studio

然而,我建议你买一台 Mac 并在 Xcode 中开发 iOS 应用程序。

在罗马时,像罗马人一样生活。

评论

1赞 Clearer 5/1/2018
Mac 之外的 Xamarin 将不允许你编写 iPhone 应用程序 - 即这不是一个可行的解决方案。
0赞 Ivan P. 11/4/2019
若要调试 Xamarin 解决方案,一端需要 MacOS。可以从 Windows 远程使用此设备。
3赞 veerendra pratap singh #39

使用跨平台工具在 Windows 上开发 iOS 应用

跨平台工具非常棒:只需编写一次应用程序代码,即可将其导出到 iOS 和 Android。这可能会将您的应用程序开发时间和成本减少一半。一些跨平台工具允许您在 Windows PC 上开发 iOS 应用程序,或者允许您在本地网络中有 Mac 时编译应用程序。

好吧,没那么快......

跨平台工具生态系统非常庞大。一方面,你拥有完整的集成开发环境 (IDE),如 Xamarin,它允许你使用 C# 生成跨平台应用。

中间地带被 PhoneGap、Cordova、Ionic 和 Appcelerator 等工具所覆盖,可让您使用 HTML5 组件构建原生应用程序。远端包括较小的平台,如 React Native,它允许你使用 JavaScript 包装器编写原生应用程序。

所有跨平台工具最突出的一件事是:它们对初学者不友好!访问 Mac、学习 Swift 和构建简单的应用比开始使用 Xamarin 要容易得多。

大多数跨平台工具都要求您对编程、编译选项以及 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 编写本机应用程序。 总是故意选择跨平台工具,因为它是一个明智的选择,而不是因为你认为原生平台语言不好。一个选项不正确的事实,并不能立即使另一个选项变得更聪明!

如果你不想加入专有的封闭的苹果世界,不要忘记许多跨平台工具是由同样邪恶的公司运营的,如谷歌、Facebook、Microsoft、Adobe 和亚马逊。

一个经常听到的反对跨平台工具的论点是,它们对智能手机硬件的访问和支持有限,而且不如原生工具那么“活泼”。请记住,任何跨平台工具都要求您在某一时刻编写特定于平台的代码,尤其是在您想要编写自定义功能时。

0赞 2 revs, 2 users 71%Peter Mortensen #40

我使用 Flutter。我在 Windows 机器上开发并在 Android 模拟器上进行测试。当我准备好在 iOS 上进行测试时,我会在 macOS 上运行代码。根据我的经验,Flutter 应用程序在 Android 和 iOS 上的运行完全相同。如果您没有 Mac,您可以下载 VirtualBox 并在其上安装 macOS。在 VirtualBox 上,macOS 的运行方式与在真实 Mac 上的运行方式完全相同,您可以在其上构建您的应用程序。

-10赞 2 revs, 2 users 72%9pfs #41

只需制作一个 Web 应用程序即可。 iOS Web 应用程序包括:

  1. 可靠。进行更新所需的时间比使用 Xcode 要短得多。
  2. 快。从本质上讲,iOS 上的 JavaScript 比原生应用程序快得多。
  3. 自由。你永远不必向苹果支付一分钱,因为苹果对你没有任何控制权。
  4. 安全。如果本机应用程序发生崩溃,它甚至可以关闭最新的 iOS 设备数小时甚至数天,直到用户能够修复它们。如果 Web 应用崩溃,用户只需关闭并重新打开它,这是最坏的情况。
  5. 离线。您可以轻松创建 Service Worker 来处理您的应用。
  6. 安全。由于您无权访问本机 API,因此安全漏洞的危险性将大大降低。
  7. 易于编程。可以从 iPhone 上的 Safari URL 栏对基本的 iOS Web 应用程序进行编程。按照字面。我自己做过。

评论

3赞 Sulthan 3/28/2022
你真的说过 Javascript 比原生应用程序快吗?
0赞 9pfs 3/28/2022
是的。在 v86 上的 iPad Mini 2 上启动 Windows 1 打开记事本所需的时间比启动 Microsoft Teams 所需的时间更少。
-7赞 iaskquestions #42

您可以使用 Java 为 iPhone 制作应用程序,并且 Java 可以连接到 Web。

评论

0赞 Benjamin Zach 11/19/2021
你的答案非常不具体,不包含任何解释。你介意添加一些吗?