Xamarin.iOS开发初体验


Xamarin是一个跨平台开发框架,这一框架的特点是支持用C#开发IOS、Android、Windows Phone和Mac应用,这套框架底层是用Mono实现的。


Mono是一款基于.NET框架的开源工程,包含C#语言编译器、CLR运行时和一组类库,能运行于Windows、Linux、Unix、Mac OS和Solaris。
对于.NET程序员来说,Xamarin是走向安卓、iOS、Mac跨平台开发的神器,不仅能用熟悉的C#来开发,还能使用Visual Studio作为IDE。本文内容是Xamarin.iOS版本的开发初体验。

一.安装开发环境

对于用Xamarin来开发iOS应用来说,准备工作分两步:(1)在Windows下安装Xamarin.iOS SDK以及VS,(2)在Mac下安装Xamarin.iOS.Build Host以及XCode。因为Xamarin iOS for Visual Studio允许IOS应用在Windows下编写,但只能在远程Mac主机或iOS设备上进行部署和调试。
1.Windows
在Windows系统下,首先确保Xamarin官网下载Xamarin完整的安装向导,安装向导会提供IOS以及Android套件的安装,可自行选择。

我在使用安装向导安装Xamarin时,一直卡在这里:


在获取Android和iOS可选套件的过程一直链接失败,一开始以为是系统版本问题(我是Win8.1 64位),跟一些高手交流之后发现是这些资源被墙掉了。。。FQ自行解决。我还跟客服联系得到回复如下:

There are a couple possible causes of the issue, but it looks like a manual uninstall/reinstall would get everything working properly.
1) Press the Windows button + r to open the Run window.
2) Type appwiz.cpl to open the Add & Remove programs window.
3) Find Xamarin & Xamarin Studio (Optional) and uninstall them.
4) Once they’re uninstalled, or if you’re unable to find them; please follow the installation steps below.

Please download and install the packages shown below in the order listed:

1. JDK 1.6: http://download.xamarin.com/Installer/MonoForAndroid/jdk-6u39-windows-i586.exe
2. Android SDK: http://dl.google.com/android/installer_r22-windows.exe
3. GTK#: http://download.xamarin.com/GTKforWindows/Windows/gtk-sharp-2.12.25.msi
4. Xamarin Studio: http://download.xamarin.com/studio/Windows/XamarinStudio-5.0.0.878-0.msi
5. Xamarin for Windows (includes Xamarin.iOS for Visual Studio and Xamarin.Android): http://download.xamarin.com/XamarinforVisualStudio/Windows/Xamarin.VisualStudio_Setup-3.0.54.0.msi

I hope this helps!
-Kent Green
Developer Support

忽略Android SDK/JDK和Xamarin Studio,GTK#是对跨平台图形用户界面库GTK+的封装,Windows用户可以忽略,它会随着Mono一起安装,在非Windows平台上GTK#类似于Windows窗体和WPF。所以只需要单独安装一个Xamarin for Windows就可以了。最新版本的Xamarin for Windows支持VS2012和VS2013,下载地址请戳这里

安装完成之后打开VS2013,新建项目窗口可以看到多了iOS和Android目录,表明安装成功:

2.Mac
Xamarin.iOS支持Mac OS 10.7及以上版本。

首先到iOS Dev Center下载Xcode 5

接下来可以选择安装完整的Xamarin,或者只安装Xamarin.iOS Build Host

二.配置部署调试环境

由于Windows下没有iOS模拟器,因此需要链接一台联网的远程Mac主机。除了上一节安装了Xcode和Xamarin.iOS外,还需要对网络进行配置。
在Mac里,在网络偏好设置里,将当前网络的代理启用并相应设置好,同时在系统偏好设置->安全性与隐私 中将防火墙关闭。

打开Xamarin.iOS Build Host:

点击配对自动生成一串PIN码,在Windows下的VS设置中使用:

回到Windows,打开VS2013,首先会自动让我们进行账号登录,所使用的账号即你在Xamarin官网下载时需要创建的账号,我这里使用的都是试用版License,有能力就付费使用正式版吧;当然免费版也可以用,只不过在发布程序的时候有大小限制。

在菜单Tools->Options->Xamarin->iOS Settings选项卡,点击Find Mac Build Host:



输入在Mac下生成的PIN码,完成配对,这样Windows便和Mac主机建立远程连接,可以在Windows下远程调试iOS程序了。

三.创建一个iOS应用

打开VS2013,新建一个项目,选择iOS->iPhone->Blank App模板,命名为HelloOpenXLive,可以看到工程结构如下:

可以看到引用节点中的monotouch,即为Xamarin.iOS SDK,用.NET实现了iOS的基础功能。

Main.cs为程序的入口,启动一个继承自UIApplicationDelegate的名为AppDelegate,在AppDelegate中完成程序的启动和初始化工作。

AppDelegate.cs中,在FinishedLaunching方法里,我们可以通过窗体的RootViewController添加我们想要的画面(View),这个结构有点类似于MVC模式。我们右键项目->添加项,添加一个iPhone View Controller,命名为HelloUIViewController:

打开HelloUIViewController.cs:

1 public override void ViewDidLoad()
2 {
3     View = new UniversalView();
4  
5     base.ViewDidLoad();
6 }

首先添加了一个通用的视图,即背景视图,可以任意修改默认背景颜色,在UniversalView类的Initialize方法中

1 void Initialize()
2 {
3     BackgroundColor = UIColor.White;
4 }

目前为止画面还是一片空白,我们回到HelloUIViewController类的ViewDidLoad方法,添加一个Label,显示一段文字:

01 public UILabel CustomLabel;
02  
03 public override void ViewDidLoad()
04 {
05     View = new UniversalView();
06  
07     base.ViewDidLoad();
08  
09     // Perform any additional setup after loading the view
10     CustomLabel = new UILabel(new RectangleF(0, 100, 300, 30))
11     {
12         Text = "Hello, OpenXLive!",
13         TextAlignment = UITextAlignment.Center,
14     };
15     View.Add(CustomLabel);
16 }

在工具栏中,设置好调试选项,选择DEBUG、iPhoneSimulator,以及指定一种模拟器类型(如iPhone Retina(4-inch) iOS 7.1),按F5开始调试

在Mac主机下,可以看到一个iOS模拟器被启动并初始化,我们的程序被部署在模拟器之后启动,接下来就可以进行断点调试了:

千万不要吐槽为什么没有iPhone的外壳,这是因为所使用的Mac主机比较老,没有Retina屏幕,分辨率跟不上,所以水果壳没显示出来;如果分辨率够了自动就显示出来了。

下一篇我将介绍如何通过Xamarin移植一个.NET的第三方库到iOS上(iOS通过Xamarin调用OpenXLive)

总结

本文介绍了基于Mono的Xamarin框架,支持使用C#开发iOS、android、Windows Phone和Mac应用;介绍了Xamarin.iOS的安装和配置方法;介绍了如何使用Xamarin.iOS SDK在Windows下进行开发,并且在Mac远程主机上进行调试的过程。

时间: 2024-10-07 13:45:08

Xamarin.iOS开发初体验的相关文章

iOS开发初体验---基础篇

一.苹果网站文档使用方法(www.developer.apple.com) 1.Develop2..Documentation3.Documentation Archive4.Languages & Utilities5.Programming with Objective-C 二.xcode苹果手机模拟器使用 1. 返回主界面Home commond + shift + H2. 删除后台运行的程序 commond + shift + HH3. 切换屏幕横竖屏 commond + left ri

Xamarin iOS开发实战上册 (内部资料)

试读样章下载地址:http://pan.baidu.com/s/1mgqQIxE 前  言 由于iOS全新的界面设计.极高的用户体验度.丰富的软件,成为最受欢迎的智能设备.同时,苹果公司具备完善的App Store模式,广受程序员了解和认可.虽然苹果官方推荐使用Objective-C和Swift进行开发,但也允许其他语言开发的软件进入Apple Store. 而C#+Xamarin是现在广为流行的开发模式.其中,Xamarin是一款跨平台的开发框架.使用Xamarin可以开发iOS.Androi

Microsoft IoT Starter Kit 开发初体验-反馈控制与数据存储

在上一篇文章<Microsoft IoT Starter Kit 开发初体验>中,讲述了微软中国发布的Microsoft IoT Starter Kit所包含的硬件介绍.开发环境搭建.硬件设置.Azure IoT Hub的连接.程序的编译.下载和调试.PowerBI数据的展现.在这篇文章中,将会详细讲述Cloud to Device的消息反馈控制以及如何通过Stream Analytics将数据存储到Azure Storage Table,以方便数据后期的利用. 1. 反馈控制 上一篇文章中,

Xamarin iOS开发实战上册-----2.2.2 使用代码添加视图

Xamarin iOS开发实战上册-----2.2.2  使用代码添加视图 如果开发者想要使用代码为主视图添加视图,该怎么办呢.以下将为开发者解决这一问题.要使用代码为主视图添加视图需要实现3个步骤. 1.实例化视图对象 每一个视图都是一个特定的类.在C#中,经常会说,类是一个抽象的概念,而非具体的事物,所以要将类进行实例化.实例化一个视图对象的具体语法如下: 视图类 对象名=new 视图类(); 以我们接触的第一个视图View为例,它的实例化对象如下: UIView vv=new UIView

iOS Simulator功能介绍关于Xamarin IOS开发

iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPhone或iPad设备时,可以使用iOS Simulator对程序进行检测本文选自Xamarin iOS开发实战. iOS Simulator可以模仿真实的iPhone或iPad等设备的功能各种功能,如表1-3所示. 表1-3  iOS Simulator 在表1-3所示的功能中需要注意,iOS Si

Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序

Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序.自从Xamarin问世后,C#的作用就发生了很大的变化.它不仅可以编写关于Windows以及Windowsx Phone的应用程序,还可以编写iOS.Android的应用程序.本章将讲解如何使用C#编写一个简单的iOS应用程序.本文选自<Xamarin iOS开发实战> 1.1初识Xamarin Xamarin是一个跨平台的开发框架.Xamarin的产

Xamarin iOS开发中的编辑、连接、运行

Xamarin iOS开发中的编辑.连接.运行 创建好工程后,就可以单击Xamarin Studio上方的运行按钮,如图1.37所示,对HelloWorld项目进行编辑.连接以及运行了.运行效果如图1.38所示本文选自Xamarin iOS开发实战大学霸出品. 图1.38  运行效果 由于在此HelloWorld的功能中没有做任何的事情,所以,运行结果是不会产生任何效果的. 注意:如果是第一次运行Xamarin Studio的程序,可能会出现如下的错误: Error: A valid Xcode

Xamarin iOS开发实战1.1.3Xamarin版本

Xamarin iOS开发实战1.1.3Xamarin版本 Xamarin提供了免费版和付费版.免费版本包含Xamarin Studio服务.付费版本分为普通版299美元/年.商业版999美元/年和企业版1899美元/年.开发者可以根据自身需要进行购买,如图1.1所示.本文选自Xamarin iOS开发实战大学霸 图1.1  Xamarin各个版本 注意:针对学生及研究人员,Xamarin提供以99美元/年的价格购买商业版授权. 1.1.4  工具需求 要使用C#编写iOS应用程序,需要使用到3

程序开发初体验

程序开发初体验 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 10 ? Estimate ? 估计这个任务需要多少时间 20 10 Development 开发 370 380 ? Analysis ? 需求分析 (包括学习新技术) 30 20 ? Design Spec ? 生成设计文档 60 20 ? Design Review ? 设计复审 10 10 ? Coding St