在Visual Studio中使用MonoTouch开发iPhone应用程序有多容易?

时间:2010-09-12 14:16:37

标签: iphone visual-studio xamarin.ios

我知道Monotouch,我安装了虚拟MacOS和Monodevelop / Monotouch。

然而,在Mac OS X上使用Monotouch构建iPhone应用程序还是比在Visual Studio中构建iPhone应用程序并通过Monotouch将其移植到iPhone更容易?

有没有人尝试将c#项目移植到iPhone?使用monodevelop / monotouch在mac os上构建应用程序有何不同?

PS。我最喜欢的帮助工具在mac os上不存在,这就是这个问题的原因

6 个答案:

答案 0 :(得分:10)

如上所述,要编译应用程序并将其上传以供appstore使用,或使用模拟器进行调试,您需要在Mac上使用MonoDevelop。

但是,可以在Visual Studio 2008或2010中编写大部分代码。

我已经编写了6个Monotouch应用程序,这些应用程序在appstore中销售严重,主要使用Visual Studio。我使用Windows和VS2010的原因是我使用Mac键盘慢了很多,我的Visual Studio设置速度很快,而PC的处理能力是它的两倍。

以下是一些问题和提示:

  • 将monotouch DLL从Mac复制到Windows(在Mac上搜索“monotouch.dll”),将所有DLL放在静态位置并在项目中引用它们。然后应该在VS中编译。
  • 确保保留2个项目文件 - MonoDevelop和Visual Studio文件。我尝试手动转换,并写了一个转换器介于两者之间,但它经常打破,更容易保留两个文件。
  • 您还可以为Visual Studio intellisense转换Mono XML文档(它的格式与Microsoft .NET XML文档格式不同)。下面的链接下载了我为Monotouch 2.1生成的XML文档。
  • 避免使用共享驱动器进行开发。这使得Mac上的编译非常慢 - 坚持使用USB记忆棒复制文件或理想地使用像bitbucket.org这样的在线源控制站点
  • 我发现在单独的键盘,显示器和鼠标以及在PC和Mac之间使用KVM切换器的速度非常快。
  • 对于布局(XIB或C#),您将使用Mac,或先在VS中写下裸骨。

我已经在流程here上写了相当多的数据。

答案 1 :(得分:8)

您只是无法使用Visual Studio开发MonoTouch应用程序。您必须使用OSX工具来构建代码并为手机创建程序包。没有办法解决这个问题,最简单的方法就是使用MonoDevelop。

我和其他开发人员过去所做的是使用Visual Studio为应用程序开发一些C#库,因为即使MonoDevelop相当不错,它仍然远不如VS。例如,使用Resharper等工具可以更轻松地重构代码

在Visual Studio中开发应用程序时,您需要处理很多事情;例如:

  • 您无法从Visual Studio运行构建:VS不知道如何构建iPhone所需的项目类型,并且它没有iOS SDK中存在的所有库。
  • 没有可视化编辑器来创建您可能想要为您的应用创建的XIB文件。
  • 你必须在这里和那里做很多额外的工作才能让VS甚至打开解决方案(比如从OSX复制lib文件到Windows,创建单独的项目等)(尽管我认为Novell Mono工具适用于VS可能对此有所帮助。

所以这就是我过去6个月一直在做的事情:

  • 将应用程序分解为业务逻辑和UI逻辑的不同项目
  • 您应该能够从VS构建,编译甚至测试业务逻辑。请记住不要使用任何UI库或MonoTouch中没有的外部库
  • 使用MonoDevelop构建应用程序的UI代码部分。能够快速运行应用程序进行测试有很大帮助。
  • 每隔一段时间,如果您觉得需要进行大规模清理,请在Visual Studio中打开代码,然后进行重构;虽然你无法构建任何东西,但VS中的代码检查器将有助于确保代码仍然有效。

希望它有所帮助!

答案 2 :(得分:5)

这实际上已经改变,新的MonoTouch版本更名为Xamarin.iOS,提供tight Visual Studio integration。你仍然需要一台Mac进行构建和测试,但你可以在没有太多障碍的情况下从VS工作。

他们甚至联系了调试器:

Xamarin.iOS integrated with Visual Studio

在此屏幕截图中,VS和OS X在同一台计算机上运行,​​但由于它们之间存在本地网络连接,因此不必这样做。

了解更多here

  

Xamarin iOS for Visual Studio允许在Windows计算机上编写和测试iOS应用程序,网络Mac提供构建和部署服务。

     

在Visual Studio中开发iOS可提供许多好处:

     
      
  • 为iOS,Android和Windows应用程序创建单一的跨平台解决方案。
  •   
  • 将Visual Studio工具(如Resharper和Team Foundation Server)用于所有跨平台项目,包括iOS源代码。
  •   
  • 使用熟悉的(对于现有的Visual Studio开发人员)代码编辑器,键盘快捷键等
  •   
  • 适用于Visual Studio的Xamarin.iOS支持Visual Studio在Mac上的Windows虚拟机内运行的配置(例如,使用Parallels或VMWare)。
  •   

请注意,Visual Studio集成在商业版中可用,$999 per license (许可证是每人永久许可,但您只能获得一年的免费升级。)

答案 3 :(得分:2)

MonoTouch home site州:

  

请注意,MonoTouch需要一个   Mac,Apple的iPhone SDK和你必须   成为Apple的iPhone开发者的一部分   程序来测试和部署您的   设备上的软件和   重新分发您的代码。

答案 4 :(得分:0)

我认为使用Visual Studio会遇到的一些问题是

  • 您将不会使用本机UI控件进行设计
  • 用于测试的仿真器将是不同的
  • 您最终可能会使用MonoTouch库中没有的API调用

我会坚持在Mac上使用MonoDevelop。

答案 5 :(得分:0)

由于您需要安装与MonoTouch一起开发的Apple iPhone SDK(仅适用于OS X),因此您只能在Mac上进行开发。

MonoDevelop是一个非常好的IDE,它与Interface Builder和iPhone / iPad模拟器的集成使得使用MonoTouch为iPhone开发非常好的体验。