2012-02-08 71 views
1

我知道,蘋果的應用條件不允許下載和執行代碼,但似乎是在一個UIWebView運行JavaScript的一個例外:iOS-的UIWebView並下載代碼

3.3.2的應用程序可能無法下載或安裝可執行代碼。如果所有腳本,代碼和解釋程序都打包在應用程序中並且沒有下載,則只能在應用程序中使用解釋的代碼。前述的唯一例外是腳本和代碼由Apple內置的WebKit框架下載和運行。

這是否意味着我可以下載並執行解釋的代碼,只要它運行在UIWebView中?

我正在開發一個MMO,爲此我想允許mods。它將爲iOS,Android,瀏覽器以及最終的本地桌面客戶端提供客戶端。我會完全在瀏覽器中完成,但iOS不支持WebGL。

有沒有辦法做到這一點,而不違反許可協議?我真的很想在iPad上看到全功能的版本,並且我願意將這些mod放在應用商店中,以便可以對其進行審覈。

這些mod很簡單,但比數據文件更復雜。

回答

1

是的。您只需使用UIWebView的loadHTMLString:baseURL:方法下載Javascript並將其放入腳本標記中,然後使用stringByEvaulatingJavaScriptFromString:方法獲取各種函數調用的結果。你必須定義一個API來讓你的遊戲在你的插件中查詢特定的功能,但這應該很簡單。實際上,你甚至可能甚至不需要將UIWebView放在任何位置的視圖中 - 你可以簡單地實例化一個UIWebView *,加載JavaScript,並進行調用。

+0

太棒了!這需要一些聰明的工程,但至少有可能。謝謝! – tjameson 2012-02-08 00:57:59

+0

令人印象深刻的部分將是當你發現如何使它快速運行時,坐在它上面的遊戲。 – Tim 2012-02-08 23:02:14

+0

是的男人。我想這是遊戲開發者的聖盃。如果我得到了一些工作,我一定會開源一個如何高效地實現它的例子(也許是一個框架?)。 – tjameson 2012-02-08 23:42:52

1

你是正確的下載和解釋JavaScript是可以接受的。

Facebook和Gmail應用程序以及無數其他人都這樣做。