Xamarin.iOS開發初體驗


bzJTVlbXGlu79vs9JJWNRP+TCioKARWFgIqhEFAxFAIqhkJAxVAIqBgKARVDIaBiKARUDIWAiqEQUDEUAiqGQkDFUAioGIHovzwLMEQYyKN2AAAAAElFTkSuQmCC

Xamarin是一個跨平台開發框架,這一框架的特點是支持用C#開發IOS、Android、Windows Phone和Mac應用,這套框架底層是用Mono實現的。

weOMlpmpFMMSwAAAABJRU5ErkJggg==

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設備上進行部署和調試。

        可參考http://bbs.feng.com/forum.php?mod=viewthread&tid=7625465&page=1&authorid=261697

 

1.Windows 在Windows系統下,首先確保Xamarin官網下載Xamarin完整的安裝向導,安裝向導會提供IOS以及Android套件的安裝,可自行選擇。

zCT+4skrIb1oaAJAncGWVAFcCUFbgyioBrgSgrMCVAABgDVwJAADWwJUAAGANXAkAANbAlQAAYA1cCQAA1sCVAABgDVwJAADWwJUAAGANXAkAANbAlQAAYA1cCQAA1sCVAABgDVwJAADWwJUAAGANXAkAANbAlQAAYA1cCQAA1sCVAABgD

在這里:

iwpJBibUJUuS5yDJ85FkYOIpajhpc2h+sD1KjdKJkmQACEGSASAESQaAECQZAEKQZAAIQZIBIARJBoAQJBkAQpBkAAhBkgEgBEkGgBAySQYANqKQZABgsyQZAEL4fzA+0WYr26a6AAAAAElFTkSuQmCC

ofqVw8koDEwAAAABJRU5ErkJggg==

在獲取Android和iOS可選套件的過程一直鏈接失敗,一開始以為是系統版本問題(我是Win8.1 64位),跟一些高手交流之后發現是這些資源被牆掉了。。。翻牆自行解決。我還跟客服聯系得到回復如下:

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目錄,表明安裝成功: 5GYKRQKhUKhUCgUfyExUygUCoVCoVAovkJiplAoFAqFQqFQfIXETKFQKBQKhUKh+AqJmUKhUCgUCoVC8ZUsMVMoFAqFQqFQKJSy8v873wU6hfZQXAAAAABJRU5ErkJggg==

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

TN2MNs2CTlZ4QAAAABJRU5ErkJggg==

首先到iOS Dev Center下載Xcode 5

9k=

接下來可以選擇安裝完整的Xamarin,或者只安裝Xamarin.iOS Build Host

二.配置部署調試環境

由於Windows下沒有iOS模擬器,因此需要鏈接一台聯網的遠程Mac主機。除了上一節安裝了Xcode和Xamarin.iOS外,還需要對網絡進行配置。 在Mac里,在網絡偏好設置里,將當前網絡的代理啟用並相應設置好,同時在系統偏好設置->安全性與隱私 中將防火牆關閉。

9k= (1)

打開Xamarin.iOS Build Host:

9k= (2)

點擊配對自動生成一串PIN碼,在Windows下的VS設置中使用:

9k= (3)

回到Windows,打開VS2013,首先會自動讓我們進行賬號登錄,所使用的賬號即你在Xamarin官網下載時需要創建的賬號,我這里使用的都是試用版License,有能力就付費使用正式版吧;當然免費版也可以用,只不過在發布程序的時候有大小限制。

4slIPc7ylEEKgQBEEQRCSoEARBEEQkqBAEQRBEJKgQBEEQRCSoEARBEEQkqBAEQRBEJKgQBEEQRCSoEARBEEQkqBAEQRBEJKgQBEEQRCSoEARBEEQkqBAEQRBEJKgQBEEQRCSoEARBEEQkqBAEQRBEJIIVgiAIgiAMAhSCIAiCIL5BhSAI

在菜單Tools->Options->Xamarin->iOS Settings選項卡,點擊Find Mac Build Host:

hScHLOd16VtxARBwAAOIiIAwAAHETEAQAADiLiAAAABxFxAACAg4g4AADAQUQcAADgICIOAABwweXLly9fvpw9JeIAAAAXEHEAAID7iDgAAGCDZZ039OIAAAB3EHEAAECHEHEAAMDmMTtv6MUBAAAbj4gDAAC6iIgDAAAcNHfEAQAA2Ahz

v4d7kP+wbTgAAAABJRU5ErkJggg==

BnWZrKlnUFcBMDsAABQFZpcXYHYAACgKzC4vwOwAAFAUmF1egNkBAKAoMLu8ALMDAEBR8IZr2U3kzoLZAQAA5AaYHQAAQG6A2QEAAOQGmB0AAEBugNkBAADkBpgdAABAbuhtdgAAAGDto4fZAQAAABMFzA4AACA3wOwAAAByA8wOAAAgN8

輸入在Mac下生成的PIN碼,完成配對,這樣Windows便和Mac主機建立遠程連接,可以在Windows下遠程調試iOS程序了。

三.創建一個iOS應用

打開VS2013,新建一個項目,選擇iOS->iPhone->Blank App模板,命名為HelloOpenXLive,可以看到工程結構如下:

ANAH38P7OXYpdxDQ0iAAAAAElFTkSuQmCC

可以看到引用節點中的monotouch,即為Xamarin.iOS SDK,用.NET實現了iOS的基礎功能。

Main.cs為程序的入口,啟動一個繼承自UIApplicationDelegate的名為AppDelegate,在AppDelegate中完成程序的啟動和初始化工作。

AppDelegate.cs中,在FinishedLaunching方法里,我們可以通過窗體的RootViewController添加我們想要的畫面(View),這個結構有點類似於MVC模式。我們右鍵項目->添加項,添加一個iPhone View Controller,命名為HelloUIViewController

: yX+3RrwMA4wAAAAASUVORK5CYII=

打開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開始調試

AcCZqHGlEAQVAAAAAElFTkSuQmCC

在Mac主機下,可以看到一個iOS模擬器被啟動並初始化,我們的程序被部署在模擬器之后啟動,接下來就可以進行斷點調試了:

Z

千萬不要吐槽為什么沒有iPhone的外殼,這是因為所使用的Mac主機比較老,沒有Retina屏幕,分辨率跟不上,所以水果殼沒顯示出來;如果分辨率夠了自動就顯示出來了。

總結

本文介紹了基於Mono的Xamarin框架,支持使用C#開發iOS、android、Windows Phone和Mac應用;介紹了Xamarin.iOS的安裝和配置方法;介紹了如何使用Xamarin.iOS SDK在Windows下進行開發,並且在Mac遠程主機上進行調試的過程。

轉載請注明:放肆雷特 » Xamarin.iOS開發初體驗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM