2012-06-01 24 views
2

這是使用C#中斷程序或編譯器將C#代碼傳輸到Objective C的單點觸摸嗎?但基於Apple指南,不允許在AppStore上提交中斷程序或編譯器應用程序。這個魔法是怎麼回事?謝謝。爲什麼單點觸控可以用C#編寫iOS應用程序,並可以提交給AppStore?

+0

重複的http://stackoverflow.com/questions/1583856/how-to-decide-between-monotouch-and-objective-c –

+1

嗯,這甚至​​不是這個問題的重複。 –

+2

對不起,更像是「看到對這個問題的第一個評論」,它指向蘋果取消對開發平臺的限制。 –

回答

5

請參閱2010年Apple的this press release,其中指出他們已刪除了用於創建iOS應用程序的工具限制。 (帽尖@ ShaChris23對this question評論。)

這就是爲什麼定期編譯器允許 - 和其他的答案所解釋,MonoTouch的是一個編譯器,而不是一個JIT演繹得/像單聲道/ .NET編譯語言是其他平臺。

11

Introduction to MonoTouch文檔:

的MonoTouch允許你使用C#和.NET基礎類庫(BCL)來編寫原生iOS應用程序。通過Mono編譯器的魔力,構建在MonoTouch平臺上的應用程序直接編譯爲本地ARM彙編代碼。

既然是編譯到ARM代碼,也沒有解釋發生的事情,而你的應用程序正在運行的設備,這就是爲什麼應用程序是否符合在AppStore上的要求。

8

在本文檔中,Introduction to MonoTouch(強調):

的MonoTouch允許你使用C#和.NET基礎類庫(BCL)來編寫原生iOS應用程序。通過Mono編譯器的魔力,構建在MonoTouch平臺上的應用程序直接編譯爲本地ARM彙編代碼。這與傳統.NET應用程序的編譯器形成了鮮明對比,該應用程序可創建在運行時編譯的中間語言(IL)代碼。即使像泛型一樣依賴於即時(JIT)編譯的東西也可以通過Mono的AOT(AOT)編譯器獲得。

所以沒有解釋器。它編譯爲本地ARM程序集。

相關問題