Visual Studio 2010支持iPhone开发吗?

8

也许你在WWDC上误听了有关LLVM支持的公告,因为LLVM具有MSIL兼容性。 - slf
您可以在Visual Studio中使用PhoneGap开发混合式HTML5应用程序。您需要一个云构建服务,例如Nomad Visual Studio扩展,以完全摆脱对Mac的需求。 - Mark Cheverton
9个回答

13

我相信你可以使用Mono来开发iPhone应用。你可以在这里阅读更多信息www.mono-project.com/Mono:Iphone

这需要静态编译,我听说这个过程目前相当困难。这里有一篇文章提供了一些细节http://arstechnica.com/open-source/news/2009/01/open-source-mono-framework-brings-c-to-iphone-and-wii.ars

如果你像我一样刚开始学习iPhone开发,我建议你坚持使用XCode和苹果工具。虽然它们提供的开发者体验与我们从微软工具中习惯的不同,但它们似乎有一个很好的支持社区。

更新:现在,使用MonoDevelop并静态编译iPhone应用程序,你可以使用Mono Touch进行开发。这是一个提供更多信息的链接http://monotouch.net/


2
如果你非常想使用Visual Studio的话,那么从Visual Studio中使用Mono正在进行之中:Visual Studio的Mono工具(参见http://www.mono-project.com/news/archive/2009/Jun-08.html)正在进行(封闭)预览。 - Dan Blanchard

10

Xcode 是开发 iPhone 应用必须使用的工具。它是目前唯一可用的 iPhone SDK 平台。


那是我记不起来的库组合。虽然一些基本的Objective-C通过gcc可以在Windows上完成,但它将非常基础。 - ist_lion
1
我选择了您作为正确答案,虽然不是第一个回答的,但是您提供了最全面信息。谢谢。 - Chad
@Chad-感谢您的区分! - Dan McClain
1
提醒一下:我总是会赞同所有有用的回答,只要它们提供了之前没有提到过的信息。包括你的回答在内。 - Chad
XCode不是一个库分组,而是一个完整的IDE。所需的库是Cocoa Touch。 - Dan McClain
显示剩余2条评论

6

据我所知,iPhone SDK必须在Mac OS系统上运行,因此我认为您无法使用VS进行开发。


5

好的,我知道这篇文章很旧了,但是我觉得我需要纠正一些事情。首先,使用Visual Studio 2010完全可以为iPhone开发应用程序。需要做的步骤很多,但基本上包括以下内容:

(注意:由于我不记得我用来调用这些东西的确切命令,所以这些步骤都是大概的,但我已经成功地在Win 7 x64上使用Visual Studio 2010运行了一个可工作的ARM CortexA8和A9 GCC编译器,并使用了最新的iOS Dev SDK)

  1. 获取Cygwin并确保你获取了GCC编译器集合。

  2. 获取LLVM和GCC前端(我不确定Clang是否有效,因为我没有尝试过)

  3. 获取ODCCTools。

  4. 下载最新的Xcode(如果你是PC用户,则从种子中下载)。注意:由于Xcode和iOS SDK使用各种开源共享库,苹果必须向公众免费发布SDK。然而,从iOS 5开始,他们决定只有在Mac上使用App Store的人才能下载它。我曾试图联系苹果,看看他们是否打算公开发布各种软件包,但我没有得到回复。

  5. 编译LLVM。

  6. 编译ODCCTools。注意:为了让ODCCTools与最新的LLVM GCC前端配合使用,需要进行一些修改。我已经联系了当前所有者,他基本上告诉我他不再支持它。

  7. 使用你刚从ODCCTools编译的汇编器和链接器重新编译GCC前端。

至此,你将拥有一个可以使用所有最新的和最伟大的LLVM和GCC(C++0x呢?)为iOS平台编写代码的编译器。或者,如果你真的很懒,不想去处理这些麻烦的事情,你可以使用已经生成的编译器(来自iphone-devtools)。但是,这样做只会给你一个不支持CortexA8或A9指令集的编译器,这意味着你的应用程序会运行得更慢,另外,他们使用的是旧版本的GCC,这意味着过去4年中所做的所有修复和改进都将被忽略。

现在你只需要配置Visual Studio。

有几种方法可以配置Visual Studio以接受你刚刚制作(或下载)的新编译器。我选择使用一个Python脚本,然后生成makefile和各种项目/解决方案文件,但你可能想选择更轻量级的东西。

此刻,您应该已经能够编译iPhone所需的代码,但是为了在iPhone上运行,您需要越狱手机。越狱是合法的,但会使您的保修失效。一旦越狱成功,您就可以使用SSH将可执行文件上传到手机上,然后就完成了。
如果您想在App Store上发布应用程序,则仍需要获取开发人员证书并按照Apple规定的发布流程进行操作。此时,您需要一台Mac电脑。如果您只想为iPhone开发应用程序,则可以这样做,但如果您要发布到App Store,则需要一台Mac电脑。
我之所以要经历所有这些繁琐的过程,是因为我有一个非常复杂的持续集成设置。我要编译8个不同的目标机器、5个不同的配置,并部署和运行大量的单元测试。我不想为iOS平台设置一台不同的Mac电脑,而是知道我可以将所有东西都设置在一台机器上运行。对于普通开发者来说,如果iOS是您的目标平台,那么在Win7机器上尝试进行iOS编程绝对不值得麻烦。

很好,预配置所有这些东西会很不错。 - Marco Medrano
无论是否重复,我都收藏了这个页面,因为它包含了有用的信息。 - user153923

4

2
嗨。虽然答案在技术上是正确的,但你应该努力将更多的文本放入答案中,这样即使某人偶然发现该站点处于离线状态,它仍然具有相关性。 - Lasse V. Karlsen

3
我认为Visual Studio 2010不支持原生的iOS应用程序开发,但可以使用Visual Studio 2010编写iOS应用程序。据我所知,微软正在尝试使其成为可能。根据我开发iOS应用程序的经验,我使用Mac Air Book、Xcode和iOS SDK来构建iOS应用程序。构建本地iOS应用程序的主要语言是Objective-C,框架是Cocoa Touch。Visual Studio和.NET框架不支持这些技术,虽然Mono Develop正在努力解决这个问题。
iOS是移动设备最先进的操作系统,由苹果公司提供。根据他们开发iOS应用程序的要求,您必须使用:
1. 基于Intel的Mac OSX。 2. iOS SDK 3. Xcode或Dashcode。
所有这些仅在Apple Mac上可用。对于.NET玩家而言没有机会。但是,您可以在Windows上使用纯C语言来开发iOS应用程序。只需进行谷歌搜索即可。
我希望这让您了解了iOS应用程序开发的过程和要求。
谢谢。

2
由于所使用的库,我相当确定您需要在Mac OS系统上运行此程序。如果您愿意,可以使用cygwin进行一些基本的gcc编译,但除此之外,我认为您需要Mac OS。
这就是为什么我们大多数人都只能购买一台Mac Mini,然后用刮刀添加更多的RAM,然后努力让我们的旧LCD显示器工作的原因。

1

如果苹果公司能够在Visual Studio内提供开发支持,那将是非常棒的!然而,据我所知,苹果公司绝对没有意图发布这样的东西。即使所有iOS开发人员都必须同意的使用协议也禁止在“非苹果品牌计算机”上使用SDK。

在我看来,这真的是一件糟糕的事情,因为它迫使多平台应用程序在多个操作系统上开发。

正因为如此,我已经开始实现一个Visual Studio 2010包,允许从IDE内进行iOS开发。为了解决SDK协议问题,编译是在iOS设备上执行的。

开发进展(包括截图)可以在以下网址上关注:

http://www.petervrenken.nl/visual%20studio

您好,

Peter Vrenken


0
我认为在服务器端识别设备/浏览器是可能的。因此,开发像iPhone应用程序一样的服务器端应用程序并在iPhone的Safari浏览器中运行应该是可能的。 我可以想象使用VS2010时,iPhone设备支持显著,因为它附带了一个特殊的JavaScript库,您的Safari第一次隐式下载它。 商务服务器似乎已经有了这样的支持 - 这对于不喜欢Objective-C或者希望尽量减少iPhone开发工作的人来说是个好消息 http://www.microsoft.com/downloads/details.aspx?FamilyID=2df25ab7-f38d-439e-9391-ef8f025e8064&displaylang=en

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接