net程序員的iPhone開發-MonoTouch

net程序員的iPhone開發-MonoTouch

iPhone軟件的Native開發除了使用Apple推薦的Objective-C? Cocoa之外,也有其他的一些工具和SDK提供

基于WEB的形式的一些框架在下面這個文章介紹過

各種SmartPhone上的跨平臺開源框架的總結

http://www.cnblogs.com/2018/archive/2010/12/28/1918814.html

?

對于.net人員來說,使用C#語言也可以進行開發,這就是MonoTouch

monotouch

2009年Novell開始的項目

通過MonoTouch,使用C#語言實現可以在iPhone上發布和銷售的軟件

MonoTouch免費版本只能在模擬器中開發調試和測試,在iPhone設備和app store上必須購買授權。http://monotouch.net/DownloadTrial

開發環境準備

?1. Make sure you have your Intel Mac running at least version 10.5.7

? 2. Download and install the Mono framework: www.go-mono.com/mono-downloads/download.html.

? 3. Download and install MonoTouch: http://monotouch.net/

? 4. Download and install MonoDevelop: http://monodevelop.com/Download

? 5. Download and install the iPhone SDK: www.apple.com/downloads/macosx/development_tools/iphonesdk.html.

安裝好以上的工具后就可以使用MonoDevelop進行開發了

MonoTouch 組件和類庫

MonoTouch is made up of the following four components:

  • The? Monotouch.dll is a C# assembly that provides a binding API into the iPhone’s native APIs.
  • A command-line tool that compiles C# and Common Intermediate Language (CIL) code. This compiled code can then be run in the simulator or an actual iPhone.
  • An add-in to MonoDevelop that allows for iPhone development and for Interface Builder to create graphical applications.
  • A commercial license of the Mono runtime, which allows for the static linking of the Mono runtime with the code developed.

最常用的命名空間

  • MonoTouch.ObjCRuntime: This namespace provides the interop/bridge between the .NET/C# world and the Objective-C world of the iPhone.
  • MonoTouch.Foundation: This namespace provides support for the data types necessary to communicate with the Objective-C world of the iPhone. Most types are directly mapped. For example, the NSObject Objective-C base class is mapped to the MonoTouch.Foundation .NSObject class in C#. Some classes are not directly mapped and are instead mapped to their native .NET types. For example, NSString maps to the basic string type and NSArray maps to a strongly typed array.
  • MonoTouch.UIKit: This namespace provides a direct mapping between the UI components within Cocoa Touch. The mapping is done by providing .NET classes for each UI component, and this is the namespace that developers will likely spend most of their time working with. For .NET developers, Cocoa Touch is an abstraction layer or API for building programs that run in the iPhone. Cocoa Touch is based on the Cocoa API used in building programs that run on the Mac OS X operating system. Cocoa Touch can be thought of as Cocoa tuned for the touch-based iPhone operating system.
  • OpenTK: This namespace is a modified version of the OpenTK API. OpenTK is an objectoriented binding for OpenGL, which stands for the Open Graphics Library. OpenGL is an API for using three-dimensional graphics. OpenTK is a library for performing OpenGL, OpenAL, and OpenCL. It is written in C# and runs on Windows, Mac OS X, and Linux. The OpenTK implementation on the iPhone has been updated to use CoreGraphics and to only expose the functionality available on the iPhone.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388825.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388825.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388825.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ASP防止SQL注入

防止SQL注入http://0.0.0.0/bzhs/login.asp?logTypeedit;WAITFOR DELAY 0:0:5 --logType Replace(Replace(Replace(Replace(logType,"-",""),"",""),"&",""),";","")fcdm Replace(Rep…

protobuf java 生成_protobuf代碼生成

windows :1,兩個文件:proto.exe, protobuf-java-2.4.1.jar2,建立一個工程TestPb,在下面建立一個proto文件件,用來存放【。proto】文件3,將proto,exe放在工程下,4,建立一個msg.proto文件:option …

bigquery_在BigQuery中鏈接多個SQL查詢

bigqueryBigquery is a fantastic tool! It lets you do really powerful analytics works all using SQL like syntax.Bigquery是一個很棒的工具! 它使您能夠使用像語法一樣SQL來進行真正強大的分析工作。 But it lacks chaining the SQL queries. We cannot run …

允許指定IP訪問遠程桌面

允許指定IP訪問遠程桌面 電腦軟件 2010-01-23 02:33:40 閱讀595 評論0 字號:大 中 小 訂閱 一、新建IP安全策略 WINR打開運行對話框,輸入gpedit.msc進入組策略編輯器。 依次打開“本地計算機”策略--計算機配置--Windows設置--安全設置--IP安…

大理石在哪兒 (Where is the Marble?,UVa 10474)

題目描述&#xff1a;算法競賽入門經典例題5-1 1 #include <iostream>2 #include <algorithm>3 using namespace std;4 int maxn 10000 ;5 int main()6 {7 int n,q,a[maxn] ,k0;8 while(scanf("%d%d",&n,&q)2 && n &&q…

Volley 源碼解析之網絡請求

Volley源碼分析三部曲Volley 源碼解析之網絡請求Volley 源碼解析之圖片請求Volley 源碼解析之緩存機制 Volley 是 Google 推出的一款網絡通信框架&#xff0c;非常適合數據量小、通信頻繁的網絡請求&#xff0c;支持并發、緩存和容易擴展、調試等&#xff1b;不過不太適合下載大…

為什么修改了ie級別里的activex控件為啟用后,還是無法下載,顯示還是ie級別設置太高?

如果下載插件時下載不了&#xff0c;這樣設置&#xff0c;打開IE選工具/Internet 選項/安全/自定義級別/設置中的ActiveX控件自動提示“禁用”。 對標記為可安全執行腳本ActiveX控件執行腳本“啟用” 對沒有標記為安全的ActiveX初始化和腳本運行“啟用”&#xff08;下載插件后…

mysql 遷移到tidb_通過從MySQL遷移到TiDB來水平擴展Hive Metastore數據庫

mysql 遷移到tidbIndustry: Knowledge Sharing行業&#xff1a;知識共享 Author: Mengyu Hu (Platform Engineer at Zhihu)作者&#xff1a;胡夢瑜(Zhhu的平臺工程師) Zhihu which means “Do you know?” in classical Chinese, is the Quora of China: a question-and-ans…

兩個日期相差月份 java_Java獲取兩個指定日期之間的所有月份

String y1 "2016-02";//開始時間String y2 "2019-12";//結束時間try{Date startDate new SimpleDateFormat("yyyy-MM").parse(y1);Date endDate new SimpleDateFormat("yyyy-MM").parse(y2);Calendar calendarCalendar.getInstance(…

js前端日期格式化處理

js前端日期格式化處理 1.項目中時間返回值&#xff0c;很過時候為毫秒值&#xff0c;我們需要轉換成 能夠看懂的時間的格式&#xff1b; 例如&#xff1a; ? yyyy-MM-dd HH:mm:ss 2.處理方法&#xff08;處理方法有多種&#xff0c;可以傳值到前端處理&#xff0c;也可以后臺可…

如何用sysbench做好IO性能測試

sysbench 是一個非常經典的綜合性能測試工具&#xff0c;通常都用它來做數據庫的性能壓測&#xff0c;但也可以用來做CPU&#xff0c;IO的性能測試。而對于IO測試&#xff0c;不是很推薦sysbench&#xff0c;倒不是說它有錯誤&#xff0c;工具本身沒有任何問題&#xff0c;它的…

XCode、Objective-C、Cocoa 說的是幾樣東西

大部分有一點其他平臺開發基礎的初學者看到XCode&#xff0c;第一感想是磨拳擦掌&#xff0c;看到 Interface Builder之后&#xff0c;第一感想是躍躍欲試&#xff0c;而看到Objective-C的語法&#xff0c;第一感想就變成就望而卻步了。好吧&#xff0c;我是在說我自己。 如果…

java http2_探索HTTP/2: HTTP 2協議簡述(原)

探索HTTP/2: HTTP/2協議簡述HTTP/2的協議包含著兩個RFC&#xff1a;Hypertext Transfer Protocol Version 2 (RFC7540)&#xff0c;即HTTP/2&#xff1b;HPACK: Header Compression for HTTP/2 (RFC7541)&#xff0c;即HPACK。RFC7540描述了HTTP/2的語義&#xff0c;RFC7541則描…

錯誤處理

錯誤處理&#xff1a; 許多系統調用和函數在失敗后&#xff0c;會在失敗時設置外部變量errno的值來指明失敗原因。許多不同的函數庫都把這個變量作為報告錯誤的標準方法。程序必須在函數報告出錯后立刻檢查errno變量&#xff0c;因為它可能被下一個函數調用所覆蓋&#xff…

Android類庫介紹

Android類庫介紹 GPhone開發包Android SDK含了很多豐富的類庫&#xff1a; android.util 涉及系統底層的輔助類庫 android.os 提供了系統服務、消息傳輸、IPC管道 android.graphics GPhone圖形庫&#xff0c;包含了文本顯示、輸入輸出、文字樣式 android.database 包含底層的AP…

遞歸函數基例和鏈條_鏈條和叉子

遞歸函數基例和鏈條因果推論 (Causal Inference) This is the fifth post on the series we work our way through “Causal Inference In Statistics” a nice Primer co-authored by Judea Pearl himself.這是本系列的第五篇文章&#xff0c;我們通過“因果統計推斷”一書進行…

前端技能拾遺

本文主要是對自己前端知識遺漏點的總結和歸納&#xff0c;希望對大家有用&#xff0c;會持續更新的~ 解釋語言和編譯型語言 解釋型語言與編譯型語言的區別翻譯時間的不同。 編譯型語言在程序執行之前&#xff0c;有一個單獨的編譯過程&#xff0c;將程序翻譯成機器語言&#xf…

java lock 信號_java各種鎖(ReentrantLock,Semaphore,CountDownLatch)的實現原理

先放結論&#xff1a;主要是實現AbstractQueuedSynchronizer中進入和退出函數&#xff0c;控制不同的進入和退出條件&#xff0c;實現適用于各種場景下的鎖。JAVA中對于線程的同步提供了多種鎖機制&#xff0c;比較著名的有可重入鎖ReentrantLock&#xff0c;信號量機制Semapho…

Intent.ACTION_MAIN

1 Intent.ACTION_MAIN String: android.intent.action.MAIN 標識Activity為一個程序的開始。比較常用。 Input:nothing Output:nothing 例如&#xff1a; 1 <activity android:name".Main"android:label"string/app_name">2 <intent-filter…

足球預測_預測足球熱

足球預測By Aditya Pethe通過阿蒂亞皮特(Aditya Pethe) From September to January every year, football takes over America. Games dominate TV Sunday and Monday nights, and my brother tears his hair out each week over his consistently underperforming fantasy te…