热门搜索 :
考研考公
您的当前位置:首页正文

Xamarin体验:使用C#开发iOS/Android应用

来源:东饰资讯网

简介

Xamarin.iOS:原名MonoTouch,用于开发iOS应用程序,并且可以发布到app store上。

Xamarin.Mac:用于开发mac os x应用程序,类似于windows 桌面应用。

Xamarin.Android:原名MonoDroid/Mono for Android,用于开发Android应用程序。

Xamarin for Visual Studio:Visual Studio的插件,包括iOS和Android,不过目前只支持vs2010/vs2012。

Xamarin Test Cloud:测试云,可以把你的应用程序发布到Xamarin的云上面测试,它可以自动帮你在数百种设备上测试你的应用程序。

Component Store:组件商店,上面有各种收费/免费的控件提供下载。

话说还有windows phone不知道跑哪去了…

界面设计器

Android应用程序会被编译为IL代码,启动时再进行JIT编译(动态编译),发布程序的时候会包含一个mono runtime。

而iOS则是直接通过AOT编译(静态编译)为ARM汇编代码。

API文档

Xamarin提供了API文档:

Framework 4.0和GTK# for 2.12.22,安装好两个依赖之后可以直接安装Xamarin Studio即可。

android依赖JDK6以及android SDK,所以需要先下载:

安装好JDK及androidSDK之后,再安装Xamarin.Android,会让你选择是否安装Visual Studio插件。

安装好Visual Studio插件之后,在菜单Tools->Options->Xamarin->Android Settings设置好Android SDK和NDK的路径。

由于android SDK提供的模拟器是在是巨慢无比,太差劲了,所以不得不找一个替代品。

基于Virtual Box的GenyMotion绝对是最佳选择,运行速度非常流畅,不过目前只支持Android4.1.1、4.2.2。

安装完成之后:

通过”Settings”按钮:设置好Android

SDK路径,并勾选”When a virtual devices starts, connect it automatically to

ADB”,”ADB from Android Developer Tools successfully found”。

通过“Add”按钮

添加设备,然后需要登录

如果所选的设备镜像没有下载,则需要在线下载某个设备的vbox镜像,一般镜像大小为200M。

通过向导提示添加虚拟机,输入名称如“lwme Nexus S - 4.2.2 - with Google Apps - API 17 - 480x800”,再等待虚拟机创建好

通过“Play”按钮运行虚拟机

虚拟机启动之后,VS的Xamarin.Android工具栏会列出设备的名称,选择这个设备就可以在GenyMotion模拟器上调试Android应用程序了。

在mac os x要使用Xamarin Studio必须先安装XCode。假设已经安装好Xamarin Studio,那么也一样直接安装Xamarin.iOS即可,然后就可以直接通过Xamarin Studio直接开发调试iOS应用程序了。

windows下的Xamarin.iOS直接安装即可,由于没有windows下的模拟器,所以需要连接到mac的模拟器进行调试。

在mac下安装并激活Xamarin Studio及Xamarin.iOS

在Network->Proxies启用Web Proxy(HTTP)

关闭防火墙

做好以上操作之后:

在Visual Studio的Tools->Options->Xamarin->iOS Settings->Mac build host->Configure->Configure Host Manually

输入mac的ip地址,等待mac设备显示Ready

再点Connect按钮连接设备

连接成功

连接成功之后可能会提示SDK更新,选择更新即可,否则会提示版本不匹配无法连上mac

更新成功需要重新开启vs

Xamarin.iOS的Visual Studio插件调试有两种模式:

真机(iPhone):默认,需要把iPhone真机通过usb连到mac上

模拟器(iPhoneSimulator):模拟器调试

默认情况下是iPhone,可以在Build->Configuration Manager的Platform进行更改,否则没有连接iPhone会显示”No Devices Attached”。

然后就可以调试了,某些情况可能mtouch没有运行权限,还需要通过chmod +x /Developer/MonoTouch/usr/bin/mtouch来赋予运行权限。

Top