實(shí)現(xiàn)iOS應(yīng)用自動(dòng)編譯的方法及系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)?zhí)峁┝艘环N實(shí)現(xiàn)iOS應(yīng)用自動(dòng)編譯的方法,其包括:至少一個(gè)Web服務(wù)器根據(jù)從客戶端接收的用于構(gòu)建iOS應(yīng)用的請(qǐng)求,向客戶端返回相應(yīng)的構(gòu)建服務(wù)信息,以使得客戶端基于構(gòu)建服務(wù)信息返回輸入信息;根據(jù)返回的輸入信息,Web服務(wù)器獲取相應(yīng)的程序代碼并修改程序代碼的配置信息,相應(yīng)的程序代碼預(yù)存在Web服務(wù)器中;Web服務(wù)器根據(jù)修改后的配置信息對(duì)程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份;以及Web服務(wù)器向客戶端發(fā)出構(gòu)建iOS應(yīng)用完成的提示信息,并向客戶端提供打包后的程序代碼的下載。本申請(qǐng)還提供了一種實(shí)現(xiàn)iOS應(yīng)用自動(dòng)編譯的系統(tǒng)。
【專利說明】實(shí)現(xiàn)丨03應(yīng)用自動(dòng)編譯的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及103應(yīng)用編譯、構(gòu)建的領(lǐng)域,具體地,涉及一種實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的方法及系統(tǒng)。
【背景技術(shù)】
[0002]103是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng)。隨著蘋果手持設(shè)備(
的普及,用于103操作系統(tǒng)的應(yīng)用也日漸增多。但是,通過常規(guī)的方法編譯、構(gòu)建一個(gè)103應(yīng)用非常繁瑣,而且容易出錯(cuò)。例如,常規(guī)的構(gòu)建103應(yīng)用的過程如下:找到要編譯應(yīng)用的代碼庫地址、在命令行使用命令簽出代碼、打開工程、找出當(dāng)前代碼庫的版本號(hào)、找到并修改配置信息、選擇編譯目標(biāo)、修改編譯類型、執(zhí)行清理命令、執(zhí)行構(gòu)建命令、執(zhí)行打包命令、向代碼庫提交修改等,中間需要投入大量的人力來做重復(fù)性的勞動(dòng),而且只能在本機(jī)中進(jìn)行發(fā)布,無法通過166方式進(jìn)行發(fā)布。此外,構(gòu)建應(yīng)用時(shí)的簽名需要的證書需要發(fā)布到每臺(tái)計(jì)算機(jī)上才能進(jìn)行發(fā)布,因此不利于證書的安全,無法防止證書的濫用。
【發(fā)明內(nèi)容】
[0003]本申請(qǐng)?zhí)峁┝艘环N至少能夠部分改善上述現(xiàn)有技術(shù)中的缺陷的實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的方法和系統(tǒng)。
[0004]根據(jù)本申請(qǐng)的一方面,提供了一種實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的方法,其包括:至少一個(gè)1613服務(wù)器根據(jù)從客戶端接收的用于構(gòu)建103應(yīng)用的請(qǐng)求,向客戶端返回相應(yīng)的構(gòu)建服務(wù)信息,以使得客戶端基于構(gòu)建服務(wù)信息返回輸入信息;根據(jù)返回的輸入信息,^服務(wù)器獲取相應(yīng)的程序代碼并修改程序代碼的配置信息,相應(yīng)的程序代碼預(yù)存在服務(wù)器中;^服務(wù)器根據(jù)修改后的配置信息對(duì)程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份;以及166服務(wù)器向客戶端發(fā)出構(gòu)建103應(yīng)用完成的提示信息,并向客戶端提供打包后的程序代碼的下載。
[0005]根據(jù)本申請(qǐng)的另一方面,提供了一種實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的系統(tǒng),該系統(tǒng)包括:至少一個(gè)客戶端和至少一個(gè)服務(wù)器。其中,服務(wù)器包括接收模塊、任務(wù)生成模塊、任務(wù)處理模塊和發(fā)送模塊。在服務(wù)器中,接收模塊用于接收來自所述客戶端的構(gòu)建103應(yīng)用的請(qǐng)求以及客戶端基于1613服務(wù)器返回的構(gòu)建服務(wù)信息而返回的輸入信息;任務(wù)生成模塊根據(jù)輸入信息生成新的構(gòu)建任務(wù);任務(wù)處理模塊用于根據(jù)構(gòu)建任務(wù)獲取相應(yīng)的程序代碼并修改程序代碼的配置信息,在修改之后,任務(wù)處理模塊還根據(jù)構(gòu)建任務(wù)對(duì)程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份,同時(shí)將構(gòu)建任務(wù)的狀態(tài)修改為完成;發(fā)送模塊用于向客戶端返回相應(yīng)的構(gòu)建服務(wù)信息以及發(fā)出構(gòu)建103應(yīng)用完成的提示信息,并向客戶端提供打包后的程序代碼的下載。
[0006]如上所述,通過本申請(qǐng)?zhí)峁┑膶?shí)現(xiàn)103應(yīng)用自動(dòng)編譯的方法及系統(tǒng),所有的編譯構(gòu)建信息通過166方式提交或修改,用戶不用去了解具體的編譯配置在底層是如何修改的,僅需通過頁面,以圖形界面、信息填入或勾選的方式,提交必要的編譯信息即可,降低了對(duì)用戶專業(yè)方面的要求。此外,編譯時(shí)不用人力每次手動(dòng)進(jìn)行證書的綁定,也不用人力手動(dòng)對(duì)編譯器進(jìn)行操作或?qū)ε渲眯畔⑦M(jìn)行修改,從而實(shí)現(xiàn)了整個(gè)編譯流程的自動(dòng)化。
【專利附圖】
【附圖說明】
[0007]圖1為根據(jù)本申請(qǐng)示例性實(shí)施方式的實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的系統(tǒng)的示意圖;
[0008]圖2為根據(jù)本申請(qǐng)示例性實(shí)施方式的服務(wù)器的示意圖;以及
[0009]圖3為根據(jù)本申請(qǐng)示例性實(shí)施方式的實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的方法的流程圖。
【具體實(shí)施方式】
[0010]為了更好地理解本申請(qǐng),將參考附圖對(duì)本申請(qǐng)的各個(gè)方面做出更詳細(xì)的說明??梢岳斫?,所述附圖和詳細(xì)說明只是對(duì)本申請(qǐng)優(yōu)選實(shí)施方案的描述,而非以任何方式限制本申請(qǐng)的范圍。
[0011]圖1示例性地示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施方式的實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的系統(tǒng)1000。如圖1所示,系統(tǒng)1000可包括至少一個(gè)客戶端100以及至少一個(gè)16?服務(wù)器200。
[0012]在一個(gè)實(shí)施方式中,16^服務(wù)器200可接收來自客戶端100的構(gòu)建103應(yīng)用的請(qǐng)求,并向客戶端100返回相應(yīng)的構(gòu)建服務(wù)信息。其中,客戶端100可例如通過訪問證1 (統(tǒng)一資源定位符)向166服務(wù)器200發(fā)出構(gòu)建請(qǐng)求。服務(wù)器200可通過頁面的方式向客戶端100返回相應(yīng)的構(gòu)建服務(wù)信息,其中構(gòu)建服務(wù)信息可至少包括構(gòu)建列表信息、構(gòu)建進(jìn)度信息、構(gòu)建結(jié)果信息以及新建構(gòu)建信息等。根據(jù)客戶端100基于構(gòu)建服務(wù)信息返回的輸入信息,服務(wù)器200可獲取相應(yīng)的程序代碼并修改程序代碼的配置信息,相應(yīng)的程序代碼可預(yù)存在服務(wù)器200中。根據(jù)一個(gè)實(shí)施方式,輸入信息可至少包括構(gòu)建名稱、代碼證1、構(gòu)建類型、版本號(hào)、編譯證書、編譯證書密碼等,其中構(gòu)建類型包括企業(yè)版構(gòu)建和八卯義01~6構(gòu)建。
[0013]根據(jù)一個(gè)實(shí)施方式,服務(wù)器200還可根據(jù)修改后的配置信息對(duì)程序代碼進(jìn)行編譯、簽名與打包,并對(duì)打包后的程序代碼進(jìn)行備份。服務(wù)器200可例如將打包后的程序代碼備份至代碼庫。在備份打包后的程序代碼之后,服務(wù)器200向客戶端100發(fā)出構(gòu)建103應(yīng)用完成的提示信息,并可例如通過代碼庫向客戶端100提供打包后的程序代碼的下載。打包后的程序代碼可例如為I?八包。
[0014]下面參照?qǐng)D2對(duì)16^服務(wù)器200進(jìn)行進(jìn)一步的描述。如圖2所示,16^服務(wù)器200包括接收模塊201、任務(wù)生成模塊202、任務(wù)處理模塊203以及發(fā)送模塊204。
[0015]在一個(gè)實(shí)施方式中,接收模塊201被配置成接收來自客戶端100的構(gòu)建103應(yīng)用的請(qǐng)求以及客戶端100基于構(gòu)建服務(wù)信息返回的輸入信息。其中,所接收的請(qǐng)求以及輸入信息可存儲(chǔ)至數(shù)據(jù)庫中。任務(wù)生成模塊202根據(jù)輸入信息生成新的構(gòu)建任務(wù)。新的構(gòu)建任務(wù)也可存儲(chǔ)至數(shù)據(jù)庫中以便任務(wù)調(diào)度。任務(wù)處理模塊203根據(jù)構(gòu)建任務(wù)獲取相應(yīng)的程序代碼并修改程序代碼的配置信息。在修改之后,任務(wù)處理模塊203還可根據(jù)構(gòu)建任務(wù)調(diào)用編譯器、簽名打包器來對(duì)程序代碼進(jìn)行編譯、簽名與打包,并對(duì)打包后的程序代碼進(jìn)行備份,同時(shí)將構(gòu)建任務(wù)的狀態(tài)修改為完成。發(fā)送模塊204用于向客戶端100返回相應(yīng)的構(gòu)建服務(wù)信息以及發(fā)出構(gòu)建103應(yīng)用完成的提示信息,并向客戶端100提供打包后的程序代碼的下載。
[0016]此外,根據(jù)另一實(shí)施方式,如果存在多個(gè)1613服務(wù)器200-1、200-2、…200-11 (11為自然數(shù),以下統(tǒng)稱為166服務(wù)器200),則服務(wù)器200還可包括任務(wù)調(diào)度模塊205,其用于將所生成的構(gòu)建任務(wù)分配至至少一個(gè)服務(wù)器中處于空閑狀態(tài)的服務(wù)器。
[0017]下面將參照?qǐng)D3對(duì)如何實(shí)現(xiàn)103應(yīng)用自動(dòng)編譯的方法3000進(jìn)行詳細(xì)描述。
[0018]根據(jù)一個(gè)實(shí)施方式中,在步驟3301中,至少一個(gè)服務(wù)器200可根據(jù)從客戶端100接收的用于構(gòu)建103應(yīng)用的請(qǐng)求,向客戶端100返回相應(yīng)的構(gòu)建服務(wù)信息,以使得客戶端100基于構(gòu)建服務(wù)信息返回輸入信息。在步驟3302中,根據(jù)返回的輸入信息,服務(wù)器200獲取相應(yīng)的程序代碼并修改程序代碼的配置信息,相應(yīng)的程序代碼預(yù)存在服務(wù)器200中。其中,服務(wù)器200可根據(jù)客戶端100返回的輸入信息生成新的構(gòu)建任務(wù),并根據(jù)該構(gòu)建任務(wù)獲取相應(yīng)的程序代碼并修改程序代碼的配置信息。然后,在步驟3303中,16^服務(wù)器200可根據(jù)修改后的配置信息對(duì)程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份。其中,服務(wù)器200根據(jù)構(gòu)建任務(wù)對(duì)程序代碼進(jìn)行編譯和簽名操作,并對(duì)經(jīng)過編譯和簽名操作后的程序代碼進(jìn)行打包操作,然后對(duì)打包的程序代碼進(jìn)行備份,同時(shí)將構(gòu)建任務(wù)的狀態(tài)修改為完成。在步驟3304中,16^服務(wù)器200向客戶端100發(fā)出構(gòu)建103應(yīng)用完成的提示信息,并向客戶端100提供打包后的程序代碼的下載。
[0019]根據(jù)另一實(shí)施方式,如果存在多個(gè)166服務(wù)器200-1、200-2、…200-11 6為自然數(shù),以下統(tǒng)稱為服務(wù)器200),則在生成新的構(gòu)建任務(wù)之后以及根據(jù)構(gòu)建任務(wù)獲取相應(yīng)的程序代碼之前,服務(wù)器200還將所生成的構(gòu)建任務(wù)分配至多個(gè)服務(wù)器中處于空閑狀態(tài)的166服務(wù)器。
[0020]以上參照示例性的實(shí)施方式對(duì)本申請(qǐng)進(jìn)行了描述,應(yīng)該理解,上述的實(shí)施方式并不應(yīng)視為對(duì)本申請(qǐng)范圍的限制。本領(lǐng)域技術(shù)人員可在不偏離本申請(qǐng)的精神和范圍的前提下對(duì)上述的實(shí)施方式進(jìn)行各種修改與變形。本申請(qǐng)的保護(hù)范圍由權(quán)利要求限定。
【權(quán)利要求】
1.一種實(shí)現(xiàn)1s應(yīng)用自動(dòng)編譯的方法,包括: 至少一個(gè)Web服務(wù)器根據(jù)從客戶端接收的用于構(gòu)建所述1S應(yīng)用的請(qǐng)求,向所述客戶端返回相應(yīng)的構(gòu)建服務(wù)信息,以使得所述客戶端基于所述構(gòu)建服務(wù)信息返回輸入信息; 根據(jù)返回的輸入信息,所述Web服務(wù)器獲取相應(yīng)的程序代碼并修改所述程序代碼的配置信息,所述相應(yīng)的程序代碼預(yù)存在所述Web服務(wù)器中; 所述Web服務(wù)器根據(jù)修改后的配置信息對(duì)所述程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份;以及 所述Web服務(wù)器向客戶端發(fā)出構(gòu)建所述1S應(yīng)用完成的提示信息,并向客戶端提供所述打包后的程序代碼的下載。
2.如權(quán)利要求1所述的方法,其中,所述Web服務(wù)器獲取相應(yīng)的程序代碼并修改所述程序代碼的配置信息的步驟包括: 根據(jù)所述客戶端返回的輸入信息生成新的構(gòu)建任務(wù);以及 根據(jù)所述構(gòu)建任務(wù)獲取相應(yīng)的程序代碼并修改所述程序代碼的配置信息。
3.如權(quán)利要求2所述的方法,其中,所述Web服務(wù)器對(duì)所述程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份的步驟包括: 根據(jù)所述構(gòu)建任務(wù)對(duì)所述程序代碼進(jìn)行編譯和簽名操作; 對(duì)經(jīng)過編譯和簽名操作后的程序代碼進(jìn)行打包操作; 對(duì)打包的程序代碼進(jìn)行備份;以及 將所述構(gòu)建任務(wù)的狀態(tài)修改為完成。
4.如權(quán)利要求1所述的方法,其中,所述構(gòu)建服務(wù)信息至少包括以下之一: 構(gòu)建列表信息、構(gòu)建進(jìn)度信息、構(gòu)建結(jié)果信息以及新建構(gòu)建信息。
5.如權(quán)利要求1所述的方法,其中,所述輸入信息至少包括以下之一: 構(gòu)建名稱、代碼url、構(gòu)建類型、版本號(hào)、編譯證書、編譯證書密碼。
6.如權(quán)利要求2或3所述的方法,其中,如果存在多個(gè)Web服務(wù)器,則在生成新的構(gòu)建任務(wù)與根據(jù)所述構(gòu)建任務(wù)獲取相應(yīng)的程序代碼的步驟之間還包括:將所生成的構(gòu)建任務(wù)分配至所述多個(gè)Web服務(wù)器中處于空閑狀態(tài)的Web服務(wù)器。
7.一種實(shí)現(xiàn)1S應(yīng)用自動(dòng)編譯的系統(tǒng),包括: 至少一個(gè)客戶端;以及 至少一個(gè)Web服務(wù)器; 其中,所述Web服務(wù)器包括: 接收模塊,用于接收來自所述客戶端的構(gòu)建所述1S應(yīng)用的請(qǐng)求以及客戶端基于所述Web服務(wù)器返回的構(gòu)建服務(wù)信息而返回的輸入信息; 任務(wù)生成模塊,根據(jù)所述輸入信息生成新的構(gòu)建任務(wù); 任務(wù)處理模塊,用于根據(jù)所述構(gòu)建任務(wù)獲取相應(yīng)的程序代碼并修改所述程序代碼的配置信息,在修改之后,所述任務(wù)處理模塊還根據(jù)所述構(gòu)建任務(wù)對(duì)所述程序代碼進(jìn)行打包,并對(duì)打包后的程序代碼進(jìn)行備份,同時(shí)將所述構(gòu)建任務(wù)的狀態(tài)修改為完成;以及 發(fā)送模塊,用于向客戶端返回相應(yīng)的構(gòu)建服務(wù)信息以及發(fā)出構(gòu)建所述1S應(yīng)用完成的提示信息,并向客戶端提供所述打包后的程序代碼的下載。
8.如權(quán)利要求7所述的系統(tǒng),其中,所述構(gòu)建服務(wù)信息至少包括以下之一:構(gòu)建列表信息、構(gòu)建進(jìn)度信息、構(gòu)建結(jié)果信息以及新建構(gòu)建信息。
9.如權(quán)利要求7所述的系統(tǒng),其中,所述輸入信息至少包括以下之一:構(gòu)建名稱、代碼url、構(gòu)建類型、版本號(hào)、編譯證書、編譯證書密碼。
10.如權(quán)利要求7所述的系統(tǒng),其中,所述Web服務(wù)器還包括: 任務(wù)調(diào)度模塊,用于將所生成的構(gòu)建任務(wù)分配至所述至少一個(gè)Web服務(wù)器中處于空閑狀態(tài)的Web服務(wù)器。
【文檔編號(hào)】H04L29/08GK104423955SQ201310400030
【公開日】2015年3月18日 申請(qǐng)日期:2013年9月5日 優(yōu)先權(quán)日:2013年9月5日
【發(fā)明者】趙晨 申請(qǐng)人:北大方正集團(tuán)有限公司, 方正信息產(chǎn)業(yè)控股有限公司, 北京北大方正電子有限公司