2011-05-10 41 views
0

我有一個應用程序來開發,但問題是,必須從服務器下載部分行爲作爲指令列表。iphone python或perl處理器,或類似的

理想情況下,它會下載腳本代碼並執行它。問題是,是否有任何圖書館可以做到這一點?例如,我有python腳本,我想在設備上執行它...

任何選項?

謝謝

+0

那麼,你基本上想要在iPhone上運行Python? – 2011-05-10 22:11:59

回答

0

出於安全原因,在App Store不允許含有能夠在手機上執行任意代碼的編程語言,使您的應用程序的市場將被限制到用戶願意越獄自己的手機來規避這個應用限制。

根據你想要做什麼,你可以看看使用瀏覽器的JavaScript。

+0

等一下。他會下載腳本代碼,這只是數據。所以它不像下載編譯的Objective-C代碼(順便提一下,我甚至不確定你是否可以,如果MMU設置爲不允許數據段運行代碼,你可以讓系統執行它)。這仍然有效嗎? – DavidN 2011-05-10 22:20:06

+0

David,您可以將數據段保護爲可讀寫,寫入數據段,然後再次執行mprotect以獲取執行權限。真正的麻煩是顛覆性的,因爲它的方式非常積極。我認爲如果dyld更加被動,那麼很多應用程序會默默地自動更新。 – MrAnonymous 2011-05-10 22:22:29

+0

基本上,如果代碼是通過電話傳給你的,他們不喜歡它。如果您的應用程序隨解釋器和代碼一起提供,那很好。應用商店協議的第3.3.2節。 – kindall 2011-05-10 22:30:10

1

Lua非常受歡迎。你也可以嵌入Python。除非您明確表示您使用Python來編寫腳本行爲,否則Apple不會強制執行「Objective-C only」條款。你認爲商店中的所有遊戲都在Objective-C中編寫腳本嗎?沒門。只是不要讓你的過失明顯,你會沒事的。