本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,更具體地說,涉及動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法、客戶端及服務(wù)器。
背景技術(shù):
眾所周知,移動(dòng)終端的運(yùn)行依賴于內(nèi)置的運(yùn)行系統(tǒng),鑒于移動(dòng)終端的便捷性和操作簡易性,人們?cè)絹碓絻A向于通過移動(dòng)終端進(jìn)行網(wǎng)絡(luò)活動(dòng)。因此,為了滿足用戶的需求,同時(shí)增加移動(dòng)終端的使用靈活性,第三方服務(wù)器基于移動(dòng)終端的運(yùn)行系統(tǒng)開發(fā)出多種實(shí)現(xiàn)不同功能的app(application,應(yīng)用程序),當(dāng)用戶想要通過移動(dòng)終端進(jìn)行某種活動(dòng)時(shí),可以在移動(dòng)終端安裝能夠?qū)崿F(xiàn)相應(yīng)功能的app。
目前,對(duì)于ios系統(tǒng),由于app為第三方服務(wù)器開發(fā)的第三方應(yīng)用程序,在第三方服務(wù)器開發(fā)出app后,需要經(jīng)過客戶端的ios系統(tǒng)的審核,當(dāng)ios系統(tǒng)審核通過后,將該app在appstore中發(fā)布,此時(shí),當(dāng)用戶需要使用該aap時(shí),才能夠從appstore中下載。
然而,如果在app發(fā)布之后發(fā)現(xiàn)某些功能存在錯(cuò)誤,則需要先將app下線,然后對(duì)app存在的錯(cuò)誤進(jìn)行修復(fù),修復(fù)后需要再次審核繼而再次發(fā)布,該過程需消耗很長的時(shí)間,導(dǎo)致app的成本消耗大,用戶體驗(yàn)差。因此,如何有效的實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序是一項(xiàng)亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法,能夠通過使用js代碼替換ios系統(tǒng)中應(yīng)用程序的原生代碼,實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序,提升了用戶體驗(yàn)。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法,應(yīng)用于客戶端,所述方法包括:
從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,所述補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,所述補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;
利用所述客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密;
對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);
當(dāng)校驗(yàn)通過后,將所述補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
優(yōu)選地,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn)包括:
通過md5值校驗(yàn)所述經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要是否與ios系統(tǒng)應(yīng)用程序的摘要一致,當(dāng)經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要與ios系統(tǒng)應(yīng)用程序的摘要一致時(shí)校驗(yàn)通過。
優(yōu)選地,所述利用所述客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密包括:
利用所述客戶端的內(nèi)置公鑰對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密。
優(yōu)選地,所述公鑰和私鑰為利用非對(duì)稱加密工具預(yù)先生成的一對(duì)密鑰。
一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法,應(yīng)用于服務(wù)器,所述方法包括:
接收所述ios系統(tǒng)應(yīng)用程序的連接請(qǐng)求;
基于所述連接請(qǐng)求將經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包發(fā)送到客戶端,所述補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,所述補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;由所述客戶端利用所述客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密;對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);當(dāng)校驗(yàn)通過后,將所述補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
一種客戶端,包括:
下載模塊,用于從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,所述補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,所述補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;
解密模塊,用于利用所述客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密;
校驗(yàn)?zāi)K,用于對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn)
替換模塊,用于當(dāng)校驗(yàn)通過后,將所述補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
優(yōu)選地,所述校驗(yàn)?zāi)K具體用于:
通過md5值校驗(yàn)所述經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要是否與ios系統(tǒng)應(yīng)用程序的摘要一致,當(dāng)經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要與ios系統(tǒng)應(yīng)用程序的摘要一致時(shí)校驗(yàn)通過。
優(yōu)選地,所述解密模塊具體用于:
利用所述客戶端的內(nèi)置公鑰對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密。
優(yōu)選地,所述公鑰和私鑰為利用非對(duì)稱加密工具預(yù)先生成的一對(duì)密鑰。
一種服務(wù)器,包括:
接收模塊,用于接收所述ios系統(tǒng)應(yīng)用程序的連接請(qǐng)求;
發(fā)送模塊,用于基于所述連接請(qǐng)求將經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包發(fā)送到客戶端,所述補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,所述補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;由所述客戶端利用所述客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密;對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);當(dāng)校驗(yàn)通過后,將所述補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
由上述技術(shù)方案可知,本實(shí)施例提供了一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法,當(dāng)需要對(duì)ios系統(tǒng)中的應(yīng)用程序進(jìn)行更新時(shí),首先從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;然后利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。能夠通過使用js代碼替換ios系統(tǒng)中應(yīng)用程序的原生代碼,實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序,提升了用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明公開的一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法實(shí)施例1的方法流程圖;
圖2為本發(fā)明公開的一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法實(shí)施例2的方法流程圖;
圖3為本發(fā)明公開的一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法實(shí)施例3的方法流程圖;
圖4為本發(fā)明公開的一種客戶端的結(jié)構(gòu)示意圖;
圖5為本發(fā)明公開的另一種客戶端的結(jié)構(gòu)示意圖;
圖6為本發(fā)明公開的一種服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,為本發(fā)明公開的一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法實(shí)施例1的流程圖,應(yīng)用于客戶端,所述客戶端可以為智能手機(jī)、平板電腦、筆記本電腦等智能終端;本方法包括以下步驟:
s101、從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;
ios系統(tǒng)是由蘋果公司開發(fā)的移動(dòng)操作系統(tǒng),當(dāng)安裝在ios系統(tǒng)中的app需要進(jìn)行更新時(shí),客戶端從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,所述下載的補(bǔ)丁修復(fù)包即為用于對(duì)應(yīng)用程序進(jìn)行更新的,通過js代碼編寫的腳本程序代碼文件。其中,js代碼就是javascript編寫的腳本文件的代碼,用單獨(dú)文件保存,擴(kuò)展名為.js。另外,在非對(duì)稱加密時(shí),采用預(yù)先生成的私鑰進(jìn)行加密。
s102、利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密;
當(dāng)客戶端從服務(wù)器下載到經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包后,客戶端利用內(nèi)置的解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密。
s103、對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);
然后,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否與需要進(jìn)行更新的應(yīng)用程序相匹配,即判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否是用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包。
s104、當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
當(dāng)經(jīng)過校驗(yàn)表明經(jīng)過解密后的補(bǔ)丁修復(fù)包為用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包時(shí),將補(bǔ)丁修復(fù)包中的js代碼替換應(yīng)用程序中需要進(jìn)行更新的oc代碼,實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
綜上所述,在上述實(shí)施例中,當(dāng)需要對(duì)ios系統(tǒng)中的應(yīng)用程序進(jìn)行更新時(shí),首先從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;然后利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。能夠通過使用js代碼替換ios系統(tǒng)中應(yīng)用程序的原生代碼,實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序,提升了用戶體驗(yàn)。
如圖2所示,為本發(fā)明公開的一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法實(shí)施例2的流程圖,應(yīng)用于客戶端,所述客戶端可以為智能手機(jī)、平板電腦、筆記本電腦等智能終端;本方法包括以下步驟:
s201、從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;
ios系統(tǒng)是由蘋果公司開發(fā)的移動(dòng)操作系統(tǒng),當(dāng)安裝在ios系統(tǒng)中的app需要進(jìn)行更新時(shí),客戶端從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,所述下載的補(bǔ)丁修復(fù)包即為用于對(duì)應(yīng)用程序進(jìn)行更新的,通過js代碼編寫的腳本程序代碼文件。其中,js代碼就是javascript編寫的腳本文件的代碼,用單獨(dú)文件保存,擴(kuò)展名為.js。另外,在非對(duì)稱加密時(shí),采用預(yù)先生成的私鑰進(jìn)行加密。
s202、利用所述客戶端的內(nèi)置公鑰對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密;
當(dāng)客戶端從服務(wù)器下載到經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包后,客戶端利用內(nèi)置的解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密。
s203、通過md5值校驗(yàn)經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要是否與ios系統(tǒng)應(yīng)用程序的摘要一致,當(dāng)經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要與ios系統(tǒng)應(yīng)用程序的摘要一致時(shí)校驗(yàn)通過;
然后,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否與需要進(jìn)行更新的應(yīng)用程序相匹配,即判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否是用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包。
s204、當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
當(dāng)經(jīng)過校驗(yàn)表明經(jīng)過解密后的補(bǔ)丁修復(fù)包為用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包時(shí),將補(bǔ)丁修復(fù)包中的js代碼替換應(yīng)用程序中需要進(jìn)行更新的oc代碼,實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
綜上所述,在上述實(shí)施例中,當(dāng)需要對(duì)ios系統(tǒng)中的應(yīng)用程序進(jìn)行更新時(shí),首先從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;然后利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。能夠通過使用js代碼替換ios系統(tǒng)中應(yīng)用程序的原生代碼,實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序,提升了用戶體驗(yàn)。
具體的,其中,公鑰和私鑰為利用非對(duì)稱加密工具預(yù)先生成的一對(duì)密碼。即通過公鑰可以解密相應(yīng)的私鑰。
如圖3所示,為本發(fā)明公開的一種動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序的方法實(shí)施例3的流程圖,應(yīng)用于服務(wù)器,本方法包括以下步驟:
s301、接收ios系統(tǒng)應(yīng)用程序的連接請(qǐng)求;
當(dāng)安裝在ios系統(tǒng)中的app需要進(jìn)行更新時(shí),客戶端向服務(wù)器發(fā)送需要進(jìn)行應(yīng)用程序更新的連接請(qǐng)求,服務(wù)器接收客戶端發(fā)送的ios系統(tǒng)應(yīng)用程序更新連接請(qǐng)求。
s302、基于連接請(qǐng)求將經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包發(fā)送到客戶端,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;由客戶端利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密;對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。
當(dāng)服務(wù)器接收到客戶端發(fā)送的應(yīng)用程序更新的連接請(qǐng)求后,將相應(yīng)的經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包發(fā)送至客戶端。其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件。當(dāng)客戶端從服務(wù)器下載到經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包后,客戶端利用內(nèi)置的解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密。然后,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否與需要進(jìn)行更新的應(yīng)用程序相匹配,即判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否是用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包。當(dāng)經(jīng)過校驗(yàn)表明經(jīng)過解密后的補(bǔ)丁修復(fù)包為用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包時(shí),將補(bǔ)丁修復(fù)包中的js代碼替換應(yīng)用程序中需要進(jìn)行更新的oc代碼,實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
如圖4所示,為本發(fā)明公開的一種客戶端的結(jié)構(gòu)示意圖,所示客戶端可以為智能手機(jī)、平板電腦、筆記本電腦等智能終端;所述客戶端包括:
下載模塊401,用于從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;
ios系統(tǒng)是由蘋果公司開發(fā)的移動(dòng)操作系統(tǒng),當(dāng)安裝在ios系統(tǒng)中的app需要進(jìn)行更新時(shí),客戶端從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,所述下載的補(bǔ)丁修復(fù)包即為用于對(duì)應(yīng)用程序進(jìn)行更新的,通過js代碼編寫的腳本程序代碼文件。其中,js代碼就是javascript編寫的腳本文件的代碼,用單獨(dú)文件保存,擴(kuò)展名為.js。另外,在非對(duì)稱加密時(shí),采用預(yù)先生成的私鑰進(jìn)行加密。
解密模塊402,用于利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密;
當(dāng)客戶端從服務(wù)器下載到經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包后,客戶端利用內(nèi)置的解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密。
校驗(yàn)?zāi)K403,用于對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);
然后,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否與需要進(jìn)行更新的應(yīng)用程序相匹配,即判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否是用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包。
替換模塊404,用于當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
當(dāng)經(jīng)過校驗(yàn)表明經(jīng)過解密后的補(bǔ)丁修復(fù)包為用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包時(shí),將補(bǔ)丁修復(fù)包中的js代碼替換應(yīng)用程序中需要進(jìn)行更新的oc代碼,實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
綜上所述,在上述實(shí)施例中,當(dāng)需要對(duì)ios系統(tǒng)中的應(yīng)用程序進(jìn)行更新時(shí),首先從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;然后利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。能夠通過使用js代碼替換ios系統(tǒng)中應(yīng)用程序的原生代碼,實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序,提升了用戶體驗(yàn)。
如圖5所示,為本發(fā)明公開的一種客戶端的結(jié)構(gòu)示意圖,所示客戶端可以為智能手機(jī)、平板電腦、筆記本電腦等智能終端;所述客戶端包括:
下載模塊501,用于從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;
ios系統(tǒng)是由蘋果公司開發(fā)的移動(dòng)操作系統(tǒng),當(dāng)安裝在ios系統(tǒng)中的app需要進(jìn)行更新時(shí),客戶端從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,所述下載的補(bǔ)丁修復(fù)包即為用于對(duì)應(yīng)用程序進(jìn)行更新的,通過js代碼編寫的腳本程序代碼文件。其中,js代碼就是javascript編寫的腳本文件的代碼,用單獨(dú)文件保存,擴(kuò)展名為.js。另外,在非對(duì)稱加密時(shí),采用預(yù)先生成的私鑰進(jìn)行加密。
解密模塊502,用于利用所述客戶端的內(nèi)置公鑰對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密;
當(dāng)客戶端從服務(wù)器下載到經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包后,客戶端利用內(nèi)置的解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密。
校驗(yàn)?zāi)K503,用于通過md5值校驗(yàn)經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要是否與ios系統(tǒng)應(yīng)用程序的摘要一致,當(dāng)經(jīng)過解密后的補(bǔ)丁修復(fù)包的摘要與ios系統(tǒng)應(yīng)用程序的摘要一致時(shí)校驗(yàn)通過;
然后,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否與需要進(jìn)行更新的應(yīng)用程序相匹配,即判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否是用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包。
替換模塊504,用于當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成所述ios系統(tǒng)應(yīng)用程序更新。
當(dāng)經(jīng)過校驗(yàn)表明經(jīng)過解密后的補(bǔ)丁修復(fù)包為用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包時(shí),將補(bǔ)丁修復(fù)包中的js代碼替換應(yīng)用程序中需要進(jìn)行更新的oc代碼,實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
綜上所述,在上述實(shí)施例中,當(dāng)需要對(duì)ios系統(tǒng)中的應(yīng)用程序進(jìn)行更新時(shí),首先從服務(wù)器下載經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包,其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;然后利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)所述補(bǔ)丁修復(fù)包進(jìn)行解密,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。能夠通過使用js代碼替換ios系統(tǒng)中應(yīng)用程序的原生代碼,實(shí)現(xiàn)動(dòng)態(tài)更新ios系統(tǒng)應(yīng)用程序,提升了用戶體驗(yàn)。
具體的,其中,公鑰和私鑰為利用非對(duì)稱加密工具預(yù)先生成的一對(duì)密碼。即通過公鑰可以解密相應(yīng)的私鑰。
如圖6所示,為本發(fā)明公開的一種服務(wù)器的結(jié)構(gòu)示意圖,所述服務(wù)器可以包括:
接收模塊601,用于接收ios系統(tǒng)應(yīng)用程序的連接請(qǐng)求;
當(dāng)安裝在ios系統(tǒng)中的app需要進(jìn)行更新時(shí),客戶端向服務(wù)器發(fā)送需要進(jìn)行應(yīng)用程序更新的連接請(qǐng)求,服務(wù)器接收客戶端發(fā)送的ios系統(tǒng)應(yīng)用程序更新連接請(qǐng)求。
發(fā)送模塊602,用于基于連接請(qǐng)求將經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包發(fā)送到客戶端,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件;由客戶端利用客戶端的內(nèi)置解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密;對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn);當(dāng)校驗(yàn)通過后,將補(bǔ)丁修復(fù)包中的js代碼替換ios系統(tǒng)應(yīng)用程序中的oc代碼,完成ios系統(tǒng)應(yīng)用程序更新。
當(dāng)服務(wù)器接收到客戶端發(fā)送的應(yīng)用程序更新的連接請(qǐng)求后,將相應(yīng)的經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包發(fā)送至客戶端。其中,補(bǔ)丁修復(fù)包為通過js代碼編寫的腳本程序代碼文件,補(bǔ)丁修復(fù)包為使用預(yù)先生成的私鑰進(jìn)行加密的腳本程序代碼文件。當(dāng)客戶端從服務(wù)器下載到經(jīng)過非對(duì)稱加密的補(bǔ)丁修復(fù)包后,客戶端利用內(nèi)置的解密邏輯腳本語言對(duì)補(bǔ)丁修復(fù)包進(jìn)行解密。然后,對(duì)經(jīng)過解密后的補(bǔ)丁修復(fù)包進(jìn)行校驗(yàn),判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否與需要進(jìn)行更新的應(yīng)用程序相匹配,即判斷經(jīng)過解密后的補(bǔ)丁修復(fù)包是否是用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包。當(dāng)經(jīng)過校驗(yàn)表明經(jīng)過解密后的補(bǔ)丁修復(fù)包為用于更新應(yīng)用程序的補(bǔ)丁修復(fù)包時(shí),將補(bǔ)丁修復(fù)包中的js代碼替換應(yīng)用程序中需要進(jìn)行更新的oc代碼,實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
為了更加特定地強(qiáng)調(diào)實(shí)施的獨(dú)立性,本說明書涉及許多模塊或單元。舉例而言,模塊或單元可由硬件電路實(shí)現(xiàn),該硬件電路包括特制vlsi電路或門陣列,比如邏輯芯片、晶體管,或其它組件。模塊或單元也可在可編程的硬設(shè)備中實(shí)現(xiàn),比如場效可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等等。
模塊或單元也可在藉由各種形式的處理器所執(zhí)行的軟件中實(shí)現(xiàn)。比如說,一可執(zhí)行碼模塊可包括一個(gè)或多個(gè)實(shí)體的或邏輯的計(jì)算機(jī)指令區(qū)塊,該區(qū)塊可能形成為,比如說,對(duì)象、程序或函數(shù)。然而,鑒別模塊或單元的可執(zhí)行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所組成,當(dāng)邏輯上組合在一起時(shí),形成模塊或單元且達(dá)到該模塊或單元所要求的目的。
實(shí)際上,可執(zhí)行碼模塊或單元可以是一單一指令或多個(gè)指令,甚至可以分布在位于不同的程序的數(shù)個(gè)不同的碼區(qū)段,并且橫跨數(shù)個(gè)存儲(chǔ)設(shè)備。同樣地,操作數(shù)據(jù)可被辨識(shí)及顯示于此模塊或單元中,并且可以以任何合適的形式實(shí)施且在任何合適的數(shù)據(jù)結(jié)構(gòu)形式內(nèi)組織。操作數(shù)據(jù)可以集合成單一數(shù)據(jù)集,或可分布在具有不同的存儲(chǔ)設(shè)備的不同的位置,且至少部分地只以電子信號(hào)方式存在于一系統(tǒng)或網(wǎng)絡(luò)。
本說明書所提及的“實(shí)施例”或類似用語表示與實(shí)施例有關(guān)的特性、結(jié)構(gòu)或特征,包括在本發(fā)明的至少一實(shí)施例中。因此,本說明書所出現(xiàn)的用語“在一實(shí)施例中”、“在實(shí)施例中”以及類似用語可能但不必然都指向相同實(shí)施例。
再者,本發(fā)明所述特性、結(jié)構(gòu)或特征可以以任何方式結(jié)合在一個(gè)或多個(gè)實(shí)施例中。以下說明將提供許多特定的細(xì)節(jié),比如編程序、軟件模塊、用戶選擇、網(wǎng)絡(luò)交易、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等例子,以提供對(duì)本發(fā)明實(shí)施例的了解。然而相關(guān)領(lǐng)域的普通技術(shù)人員將看出本發(fā)明,即使沒有利用其中一個(gè)或多個(gè)特定細(xì)節(jié),或利用其它方法、組件、材料等亦可實(shí)施。另一方面,為避免混淆本發(fā)明,公知的結(jié)構(gòu)、材料或操作并沒有詳細(xì)描述。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。