我需要爲iOS中的Web數據定義處理規則,並認爲將處理規則作爲腳本文件從我的服務器提取並在iOS設備上執行它是個好主意,因爲我正在與之交互的Web API可能會更改URL或響應語法,我需要能夠快速解決這些問題,並且不能依靠推送更新(永遠需要)。有沒有辦法在iOS上運行腳本?
我想用小JS
文件是從我的服務器每拉一次,一段時間來做到這一點,但不幸的是iOS不包括JavaScriptCore
框架。
還有其他選擇嗎?
我需要爲iOS中的Web數據定義處理規則,並認爲將處理規則作爲腳本文件從我的服務器提取並在iOS設備上執行它是個好主意,因爲我正在與之交互的Web API可能會更改URL或響應語法,我需要能夠快速解決這些問題,並且不能依靠推送更新(永遠需要)。有沒有辦法在iOS上運行腳本?
我想用小JS
文件是從我的服務器每拉一次,一段時間來做到這一點,但不幸的是iOS不包括JavaScriptCore
框架。
還有其他選擇嗎?
Apple開發人員協議不允許您在設備上運行下載的解釋腳本。
最好的辦法是下載一個數據結構(可能採用JSON格式),然後解析並在客戶端代碼中進行一些預定義的操作,而不是直接執行下載的代碼。
你可以讓一個UIWebView運行一個Javascript代碼片段,或者你可以使用另一種腳本語言如LUA(不要忘記爲此添加LUA)。真正的問題是:您不允許從網絡服務器或其他地方下載代碼。一切必須已經在設備上,或者在運行時進行計算。
根據您需要的信息,您可以使用包含新URL的XML文件並解析它,但我不知道這是否符合您的需要。
我擔心它可能會被Apple禁止,所以我認爲作爲一種替代方法是託管我自己的Web API並將請求與我的API重定向到原始API /站點,以便我可以在源更改時快速適應。 – 2011-05-27 06:34:24
您可以compile JavaScriptCore into your app,顯然,和have it approved by Apple。但是,正如Mehrdad所指出的那樣,在應用程序被審查時,應用程序中運行的任何腳本必須已經在應用程序中。
@ErikAigner你可以嘗試通過建立一個解釋器在技術上規避蘋果協議,並希望他們不會抓住它,但你可能很難做到這一點。真正的問題比技術更契約。你在牀上睡覺;他們可以隨時把你踢出去。 – 2012-08-17 18:20:14