最近公司項目要求把一個純js的項目內嵌到app裏去,個人對javascript的掌握..實在是上不了檯面,更別說是用sencha touch這種框架開發的移動項目了,所以在開始的幾天裏。發現把js項目導入到app裏後。本地調用html並不起作用,對js又不熟悉,可以說是一愁莫展,不過。還好慢慢的在網上找了一些相關的資料,發現xcode可以安裝phonegap(當然,這個框架我也沒有深入瞭解)的開發環境來開發sencha touch,有需要的可以去官網下載,安裝完後新建項目會多一個選項:
這個cordova-based的就是可以創建phonegap的項目的了,不知道他爲什麼要改爲這個名,這個名很難記吶。新建項目的結構:
這樣項目就建完了,下面就可以把你的js項目導入到app裏去:
然後就可以在appdelegate.m裏使用你的本地html:
這裏phonegap默認是以www的文件夾爲路徑的。這裏你可以修改爲自己的文件夾。這樣就內嵌sencha touch項目就基本完成了。但後面又遇到一個問題 。就是項目在模擬器上顯示不了index.html。剛開始以爲是自己配置的問題 ,但試着把sencha官方的例子測試後。發現配置沒有問題 。也被這個問題困擾了幾天呢。後面才發現在sencha項目裏app.js文件裏有一句代碼在xcode上執行不了。但它又不報錯。這讓我欲哭無淚!!!!
代碼如下:
viewport: {
autoMaximize: true
},
這句話爲什麼在xcode上執行不了。這個我也不知道。如果有知道的可以留下言。學習一下。只要註釋了這句代碼。ok,項目運行成功!哦。最後。還有一個問題 要注意的。就是sehcha項目裏有訪問外部url的問題 。因爲phonegap是有安全機制的。必須在cordova.plist文件裏的ExternalHosts做以下操作:
記得把OpenAllWhitelistURLsInWebView設置爲yes,在ExternalHosts加一下選項爲*,*號的意思是可以匹配爲任意字符的url。這樣就可以訪問外部的url了。
好了,基本就這些了。