自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境

移動開發(fā) iOS
本文介紹的是在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 環(huán)境配置,先來看本文詳細(xì)講解。

Visual Studio中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境是本文要介紹的內(nèi)容,前段時間在工作機(jī)上裝了Mac OS X,這主要是因為我最近需要開發(fā)iPhone應(yīng)用程序。

雖然Xcode,Objective C一定是開發(fā)iOS應(yīng)用程序的主流,但是經(jīng)過一番考慮,我還是決定嘗試一下使用MonoTouch進(jìn)行開發(fā)。MonoTouch是Novell公司基于開源的Mono平臺構(gòu)建的一套iOS開發(fā)環(huán)境,使用MonoDevelop作為代碼編寫工具。不過目前的MonoDevelop較之Visual Studio可謂“螢火之光比皓月之明”,甚至還有無法輸入中文的低級問題。因此,至今我所有在Mono上運(yùn)行的代碼其實都是用Visual Studio寫的,這次自然也不例外。不過,這似乎并不是件非常直接的事情……

什么是MonoTouch

Mono是由Novell提供的.NET跨平臺執(zhí)行環(huán)境,無論別人如何進(jìn)行FUD,我使用下來對Mono的感覺很不錯,自認(rèn)為也有足夠的理由來支持我的觀點(diǎn),如今無論是微軟Mix大會還是社區(qū)類型的NDC 2010都有Mono的內(nèi)容(尤其是后者)。在我看來,如果沒有嘗試過Mono就發(fā)表的猜忌就很難令人接受了。

Mono使用的授權(quán)方案允許第三方基于它上構(gòu)建商業(yè)應(yīng)用程序,MonoTouch便是其中的典型(還有哪些?自己看吧)。MonoTouch是Novell公司的產(chǎn)品,可以讓開發(fā)人員在.NET環(huán)境下開發(fā)iOS應(yīng)用程序(包括iPhone 4和iPad),支持最新的iOS SDK 4.1。

這樣.NET開發(fā)人員就可以利用現(xiàn)有的知識來開發(fā)iOS應(yīng)用程序,如.NET 3.5中的絕大部分類庫以及C# 3.0。例如,之前有同事抱怨Android里的API沒法方便地使用SOAP協(xié)議(似乎iOS下也有不便),但是在MonoTouch中,一切的一切都是最常見的Add Web Services,或是用WCF的svcutil.exe便可直接生成代理。我們同樣可以復(fù)用大量.NET平臺下的開源類庫,只要基于MonoTouch重新編譯一遍就可以了。在NDC 2010中“深入MonoTouch”演講中便演示了在MonoTouch中使用Json.NET、FlickrNet及CoolStorage三套類庫的做法。

除了.NET 3.5中的類庫之外,MonoTouch也提供了訪問iOS API(即Cocoa Touch)的.NET接口(尤其是在UI方面)。在這方面MonoTouch不是一味地直接暴露出Cocoa Touch的功能,而是在一定程度上將它的API改寫為更傾向于.NET程序員的形式。

例如UIView的Frame屬性為System.Drawing.RectangleF類型,而不是Cocoa Touch中原本使用的CGRect。當(dāng)然,尤其是UI方面,MonoTouch還是使用了傳統(tǒng)iOS應(yīng)用程序的架構(gòu),包括它的MVC驅(qū)動方式。因此,即使您使用MonoTouch,最好也要能夠看懂簡單的Objective C代碼,因為SDK提供的文檔和大量的示例都是用它來實現(xiàn)的。

眾所周知,Mono使用JIT(Just-in-Time)編譯來執(zhí)行IL代碼,JIT代表了在運(yùn)行時動態(tài)生成原生代碼,但是iOS不允許這么做。因此,MonoTouch實際上是使用了AOT(Ahead-of-Time)編譯方式,真正部署在機(jī)器上時已經(jīng)是原生代碼了。此外,MonoTouch還提供了一個Linker,它只會將SDK及我們自己編寫的代碼中,真正使用到的部分靜態(tài)鏈接至應(yīng)用程序中,這削減了應(yīng)用程序的體積。

從中我們可以看出,使用MonoTouch開發(fā)出來的應(yīng)用程序,其實和普通使用iOS SDK開發(fā)出的應(yīng)用程序并沒有什么區(qū)別,都是完全獨(dú)立運(yùn)行的。當(dāng)然,這也是因為MonoTouch將一個Runtime塞入應(yīng)用程序內(nèi)部的關(guān)系,這會給應(yīng)用程序的體積帶來大約5MB的增長,壓縮后(也就是用戶真正需要下載的體積)大約是3MB。

除了MonoTouch以外,用于Android開發(fā)的MonoDroid也已經(jīng)進(jìn)入了beta階段,已經(jīng)向一些開發(fā)人員提供試用版本了。這意味著,在不久的將來,C#及.NET類庫將成為Windows Phone,iOS,Android三大移動平臺上的跨平臺開發(fā)工具。關(guān)于MonoTouch的更多消息,您可以關(guān)注NDC 2010上的相關(guān)演講。

在Windows和Mac OS X中共享文件

MonoTouch的開發(fā)工具是MonoDevelop和Interface Builder,后者用于編輯應(yīng)用程序中的UI文件。不過編寫C#代碼的神器終歸是Visual Studio,即便是最簡單的Express版本在代碼編寫方面也勝出MonoDevelop很多,更別說是經(jīng)過增強(qiáng)的高級版本了。因此,我打算使用Visual Studio編寫C#代碼,而使用Interface Builder開發(fā)UI界面。不過我們要做的第一件事情是在Windows和Mac OS X之間共享源文件。這里我繼續(xù)基于之前Win7 + VirtualBox + Snow Leopard的環(huán)境進(jìn)行配置,您也可以使用相同的方法連接兩臺獨(dú)立的機(jī)器。

由于Mac OS X是在虛擬機(jī)上,我選擇將源文件放在Windows里,并在Mac OS X上訪問。首先,我們在Windows上共享一個目錄,這里我將整個E盤共享給vbox賬號,取名為host-e,并賦予完全控制權(quán)限:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

然后在Mac OS X中打開Finder,在Go菜單中選擇Connect to Server:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

在彈出的對話框中輸入Windows的IP:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

點(diǎn)擊Connect,并在下一個對話框中輸入用戶名的密碼(注意這里需要包含機(jī)器名):

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

點(diǎn)擊Connnet,此時對話框會列出這個賬號的共享內(nèi)容:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

于是我們選擇host-e,并點(diǎn)擊OK。此時,您會在Finder的Shared欄目中訪問到共享的內(nèi)容,其中的projects目錄是這里的關(guān)鍵:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

我將所有的項目都存放在e:\projects目錄中,接下來也不例外。為了方便起見,我在Mac OS X的home目錄下建立一個軟鏈接,指向共享中的projects目錄

ln -s /Volumes/host-e/projects ~/Projects此時我們就能在home目錄下看到Projects文件夾了,而在各種應(yīng)用程序中,我們可以使用~/Projects來訪問其中的內(nèi)容:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)

自然,其他方式也沒有問題,您只要找到適合您自己的最合適的方式即可。例如,我現(xiàn)在提到的共享方式要求兩臺機(jī)器通過網(wǎng)絡(luò)互連,如果您無法實現(xiàn)這點(diǎn),也可以借助如Dropbox這樣的同步工具,其實也非常方便。

安裝MonoTouch

要安裝MonoTouch,首先您必須安裝Mono,MonoDevelop,iOS SDK。我的配置是:

  1. Mono 2.6.7   
  2. MonoDevelop 2.4   
  3. iOS SDK 4.1  

Mono和iOS SDK的安裝過程十分普通,而MonoDevelop的安裝方式對于Windows用戶可能有些特別。在加載了dmg文件以后,會彈出這樣一個界面:

在VS中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)


 
根據(jù)提示,此時您只需要將MonoDevelop的圖標(biāo)拖至右側(cè)目錄中就可以了。

隨后,您便可以安裝MonoTouch了。MonoTouch是商業(yè)產(chǎn)品,不過您可以免費(fèi)下載它的試用版,無限期使用。不過試用版只能在模擬器上運(yùn)行調(diào)試,如果需要在真機(jī)上運(yùn)行測試、打包、甚至發(fā)布至AppStore,則需要購買授權(quán)。企業(yè)用戶自不必說,MonoTouch針對個人用戶的授權(quán)費(fèi)用399美金,如果您真有制作應(yīng)用程序的好點(diǎn)子,那這點(diǎn)錢實在不算什么了。

小結(jié):在Visual Studio中使用MonoTouch開發(fā)iOS應(yīng)用程序 配置環(huán)境 (上)的內(nèi)容介紹完了,希望本文對你有所幫助。請閱讀:

Visual Studio中使用MonoTouch開發(fā)iOS應(yīng)用程序 開發(fā)體驗

責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-07-18 10:21:04

iOS Visual Stu iphone

2012-02-13 14:10:11

MonoTouchiOS應(yīng)用Visual Stud

2012-02-13 14:22:22

MonoTouchiOS應(yīng)用Visual Stud

2013-01-11 14:33:14

iOS開發(fā)移動應(yīng)用iPhone

2012-02-13 13:45:04

MonoTouch.NETiOS應(yīng)用

2009-06-19 13:45:53

Java應(yīng)用程序Jfreechart

2009-09-22 12:17:59

ibmdwLotus

2011-07-21 16:19:30

iOS Twitter

2011-05-24 16:09:57

Androi

2011-05-27 08:48:13

Android HTML

2021-09-07 10:24:36

Vue應(yīng)用程序Web Workers

2013-10-09 11:15:49

Ubuntu應(yīng)用程序

2011-02-22 10:23:43

2009-11-23 19:52:55

ibmdwFlex

2022-08-30 20:00:37

零信任Linkerd

2013-01-11 15:06:13

iOS開發(fā)移動應(yīng)用iPhone

2010-11-30 15:44:27

Windows 7兼容

2023-08-11 07:59:15

2012-07-18 11:29:32

ibmdw

2013-01-11 15:24:02

iOS開發(fā)移動應(yīng)用iPhone
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號