首先,開發要提供熱修復的指令碼;這個對於本功能沒有開發工作;
其次,要將指令碼上傳到後台;所以後台需要提供上傳的操作頁面;
然後,終端裝置每次執行後,就去獲取上傳的指令碼檔案;
再然後,獲取到指令碼檔案後,呼叫jspatch引擎,執行指令碼檔案進行修復。
大體流程就是這樣。剩下的就是完善上述流程的各個環節;
為了安全,可以將指令碼加密,終端收到加密的指令碼的時候,再解密;
為了減少網路上檔案傳輸大小,可以將js檔案先zip壓縮下,終端獲取檔案後,先解壓在解密,最後執行指令碼;
這樣基本可以了額。上互動圖:
另外附上加密解密的一種實現方式,**於網路,奉獻給網路,演算法只是做了點修改,使其更通用:
/*字串加密
*引數*plaintext : 加密明文
*key : 金鑰 64位
*/- (nsstring *) encryptusedes:(nsstring *)plaintext key:(nsstring *)key
; size_t numbytesencrypted = 0;
cccryptorstatus cryptstatus = cccrypt(kccencrypt, kccalgorithmdes,
kccoptionpkcs7padding,
[key utf8string], kcckeysizedes,
iv,textbytes, datalength,
buffer, bufferptrsize,
&numbytesencrypted);
if (cryptstatus == kccsuccess)
free(buffer);
return ciphertext;
}//解密
- (nsstring *) decryptusedes:(nsstring*)ciphertext key:(nsstring*)key
; cccryptorstatus cryptstatus = cccrypt(kccdecrypt,
kccalgorithmdes,
kccoptionpkcs7padding,
[key utf8string],
kcckeysizedes,
iv,[cipherdata bytes],
[cipherdata length],
buffer,
bufferptrsize,
&numbytesdecrypted);
nsstring* plaintext = nil;
if (cryptstatus == kccsuccess)
free(buffer);
return plaintext;
}
檔案解壓縮就不上**了~~
done.
iOS App熱修復的設計方案及簡單實踐
首先,開發要提供熱修復的指令碼 這個對於本功能沒有開發工作 其次,要將指令碼上傳到後台 所以後台需要提供上傳的操作頁面 然後,終端裝置每次執行後,就去獲取上傳的指令碼檔案 再然後,獲取到指令碼檔案後,呼叫jspatch引擎,執行指令碼檔案進行修復。大體流程就是這樣。剩下的就是完善上述流程的各個環節 ...
iOS實現熱修復的幾種方案
最近,在調研熱修復技術,也稱作熱更新技術。由於蘋果審核週期有時候比較長,這是公司無法忍受的,所以熱修復技術應運而生。經過查閱多方面的資料,進行如下總結,希望對大家有所幫助。現在比較流行的熱修復技術 一 使用jspatch進行熱修復。jspatch能做到通過js呼叫和改寫oc方法。最根本的原因是 ob...
超低延時行情系統的設計方案及實現方案
金融量化人才大批湧現 量化選股與多因子策略的國內落地 股指與兩融業務相繼推出 進入中國才短短十餘年的量化投資發展迅速。當前,國內量化體系正處於從低風險量化轉向主動量化的行業變革期 上述變化的發生離不開對應硬體 系統 與軟體 人才 的雙重公升級 硬體方面,擁有更低延時通道 更靈敏的系統響應 更穩定的交...