2011-07-28 51 views
2

我們需要能夠在我們的設備上輕鬆安裝我們的內部應用程序,並快速更新它們,無論它們位於何處。通過webapp的iOS企業分佈?

我正在研究將我們的內部應用程序分發給我們的員工的不同方式。到目前爲止,我已經發現了iTunes,iPhone配置實用程序,通過網絡鏈接等安裝...

我們的設備將可能不會接近我們的辦公室,主要依靠3G,所以看起來網絡鏈接是我最好的免費選擇。

我做了一個web應用程序,我可以添加到主屏幕來安裝/更新應用程序。我想要做的是使網絡應用程序更加智能化:顯示「安裝」按鈕或「更新」按鈕。理想情況下,我希望網絡應用程序知道已安裝的應用程序的版本。

我能想到的唯一方法是:當用戶單擊安裝鏈接時在localStorage中存儲版本號。當他們稍後返回時,將其與可用內容進行比較並顯示正確的按鈕。

這個「解決方案」最大的問題是,如果用戶清除Safari的緩存會怎麼樣?主屏應用程序是否擁有自己的受保護緩存?

另一種選擇是讓應用程序本身將其版本號傳遞給服務器並將其存儲在數據庫中。但這更復雜,所以我想避免這種情況。如果我可以在不啓動應用程序的情況下使用url方案獲取版本號,那將是可以接受的。但我不認爲這是可能的。

因此,無論員工在哪裏旅行,我們都需要在設備上快速更新應用程序,什麼是最簡單,最好,最好是免費的解決方案?

+0

似乎很多工作,當你可以讓按鈕說「安裝/更新」。 – ceejayoz

回答

2

這真的很簡單...應用程序可以通過打開一個網絡鏈接來更新自己...你不必在Safari瀏覽器中打開它。所以在應用程序啓動時,只需檢查Web服務器的版本,當它不是最新版本時,它就可以自行更新。

您也可以在緊急情況下發送遠程通知。

+0

這是個好主意。但我確實需要頁面本身來安裝應用程序。我也想通過更新服務器上的幾個靜態文件來保持簡單。我要做的是在UIWebView中添加頁面,並在頁面加載之前使用stringByEvaluatingJavaScriptFromString注入版本號。這樣我可以更新界面以向用戶反映智能信息。 – Luke

+0

您只需要包含版本號和ipa文件的服務器上的靜態文件。在你的應用程序中加載該文件,與本地版本進行比較,如有必要,可在應用程序中顯示彈出窗口,以便更新應用程序。 – Bastian