System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及app編譯領(lǐng)域,尤其涉及二進(jìn)制化領(lǐng)域,具體是指一種實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法、系統(tǒng)、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、隨著不斷發(fā)展,app的功能越來越豐富。功能豐富帶來代碼量越來越多,編譯打包時(shí)間越來越長(zhǎng),因此,希望能提高app編譯速度。
2、二進(jìn)制化,即可通過將組件預(yù)先編譯打包成靜態(tài)/動(dòng)態(tài)庫(kù),待集成此組件時(shí),直接使用二進(jìn)制包,從而減少該組件源碼的編譯時(shí)間,提升整體編譯效率。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)的目的是克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種滿足操作簡(jiǎn)便、編譯速度快、適用范圍較為廣泛的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法、系統(tǒng)、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
2、為了實(shí)現(xiàn)上述目的,本專利技術(shù)的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法、系統(tǒng)、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)如下:
3、該實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法,其主要特點(diǎn)是,所述的方法包括以下步驟:
4、(1)生成二進(jìn)制庫(kù);
5、(2)將二進(jìn)制庫(kù)推送到遠(yuǎn)程庫(kù);
6、(3)通過插件對(duì)源碼庫(kù)和二進(jìn)制庫(kù)進(jìn)行混合編譯;
7、(4)進(jìn)行二進(jìn)制庫(kù)調(diào)試。
8、較佳地,所述的步驟(1)具體包括以下步驟:
9、(1.1)讀取podspec文件,創(chuàng)建working_directory;
10、(1.2)讀取參數(shù)并根據(jù)
11、(1.3)循環(huán)構(gòu)建支持所有平臺(tái)的framework;
12、(1.4)將所有framework合并成xcframework;
13、(1.5)收集所有資源生成resource.bundle;
14、(1.6)根據(jù)原podfile、xcframework和bundles生成新的podfile;
15、(1.7)將新podfile、bundle、xcframework放入和組件同名的文件夾;
16、(1.8)清理目錄下的緩存文件。
17、較佳地,所述的步驟(2)具體包括以下步驟:
18、(2.1)若是推送到github、gitlab、bitbucket類,或是自己搭建的遠(yuǎn)程庫(kù),則繼續(xù)步驟(2.2);若是推送到j(luò)frog平臺(tái),則繼續(xù)步驟(2.3);
19、(2.2)推送整個(gè)二進(jìn)制產(chǎn)物到遠(yuǎn)程庫(kù),并單獨(dú)推送podspec文件到索引庫(kù);
20、(2.3)建立一個(gè)cocoapods類型的遠(yuǎn)程倉(cāng)庫(kù);
21、(2.4)將podspec和xcframework放在一個(gè)文件夾內(nèi),壓縮此文件夾。
22、較佳地,所述的步驟(3)具體包括以下步驟:
23、(3.1)分析工程的podfile文件,獲取所有依賴,獲取所有的組件庫(kù)列表;
24、(3.2)循環(huán)遍歷所有組件庫(kù);
25、(3.3)判斷二進(jìn)制庫(kù)遠(yuǎn)端搜索是否有此庫(kù),如果是,則繼續(xù)步驟(3.4);否則,使用庫(kù)的源碼地址,繼續(xù)步驟(3.5);
26、(3.4)判斷該庫(kù)是否在白名單列表中,如果是,則使用庫(kù)的源碼地址,繼續(xù)步驟(3.5);否則,修改該庫(kù)下載地址為二進(jìn)制地址,繼續(xù)步驟(3.5);
27、(3.5)使用多線程并發(fā)下載;
28、(3.6)驗(yàn)證下載的組件庫(kù)是否完整;
29、(3.7)生成工程文件;
30、(3.8)在工程中寫入依賴,并進(jìn)行編譯。
31、較佳地,所述的步驟(4)具體包括以下步驟:
32、(4.1)根據(jù)工程的podfile分析依賴,獲取要調(diào)試的二進(jìn)制組件的版本號(hào);
33、(4.2)根據(jù)版本號(hào)在源碼地址找到該組件,下載對(duì)應(yīng)版本號(hào)的源碼并存放在指定目錄;
34、(4.3)分析二進(jìn)制產(chǎn)物,使用dwarfdum命令找出二進(jìn)制產(chǎn)物的編譯路徑;
35、(4.4)關(guān)聯(lián)源碼和編譯路徑。
36、該實(shí)現(xiàn)上述方法的有效提升ios軟件編譯打包速度和調(diào)試效率的系統(tǒng),其主要特點(diǎn)是,所述的系統(tǒng)包括:
37、打包模塊,用于將源碼組件打包成二進(jìn)制組件;
38、推送模塊,與所述的打包模塊相連接,用于將二進(jìn)制庫(kù)、源碼庫(kù)或編譯產(chǎn)物推送到遠(yuǎn)端;
39、切換調(diào)試模塊,與所述的推送模塊相連接,用于將源碼、二進(jìn)制切換,源碼、二進(jìn)制無編譯調(diào)試;
40、配置管理模塊,與所述的切換調(diào)試模塊相連接,用于管理配置,應(yīng)對(duì)不同工程不同環(huán)境下的不同配置;
41、源碼管理模塊,與所述的配置管理模塊相連接,用于下載組件的同版本源碼。
42、該用于實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的裝置,其主要特點(diǎn)是,所述的裝置包括:
43、處理器,被配置成執(zhí)行計(jì)算機(jī)可執(zhí)行指令;
44、存儲(chǔ)器,存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令,所述的計(jì)算機(jī)可執(zhí)行指令被所述的處理器執(zhí)行時(shí),實(shí)現(xiàn)上述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法的各個(gè)步驟。
45、該用于實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的處理器,其主要特點(diǎn)是,所述的處理器被配置成執(zhí)行計(jì)算機(jī)可執(zhí)行指令,所述的計(jì)算機(jī)可執(zhí)行指令被所述的處理器執(zhí)行時(shí),實(shí)現(xiàn)上述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法的各個(gè)步驟。
46、該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其主要特點(diǎn)是,其上存儲(chǔ)有計(jì)算機(jī)程序,所述的計(jì)算機(jī)程序可被處理器執(zhí)行以實(shí)現(xiàn)上述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法的各個(gè)步驟。
47、采用了本專利技術(shù)的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法、系統(tǒng)、裝置、處理器及其計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),適用于所有ios?app的ruby插件,該插件支持將單一組件打包成二進(jìn)制庫(kù);支持一個(gè)工程中,二進(jìn)制庫(kù)和源碼庫(kù)混合編譯;支持二進(jìn)制庫(kù)無切換調(diào)試源碼:支持源碼下載管理;支持分析組件庫(kù)依賴,適用的范圍十分廣泛。
本文檔來自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(1)具體包括以下步驟:
3.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(2)具體包括以下步驟:
4.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(3)具體包括以下步驟:
5.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(4)具體包括以下步驟:
6.一種實(shí)現(xiàn)權(quán)利要求1的方法的有效提升IOS軟件編譯打包速度和調(diào)試效率的系統(tǒng),其特征在于,所述的系統(tǒng)包括:
7.一種用于實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的裝置,其特征在于,所述的裝置包括:
8.一種用于實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的處理器,其特征在于,所述的處理器被配置成執(zhí)行計(jì)算機(jī)可執(zhí)行
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)程序,所述的計(jì)算機(jī)程序可被處理器執(zhí)行以實(shí)現(xiàn)權(quán)利要求1至5中任一項(xiàng)所述的實(shí)現(xiàn)有效提升IOS軟件編譯打包速度和調(diào)試效率的方法的各個(gè)步驟。
...【技術(shù)特征摘要】
1.一種實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(1)具體包括以下步驟:
3.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(2)具體包括以下步驟:
4.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(3)具體包括以下步驟:
5.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)有效提升ios軟件編譯打包速度和調(diào)試效率的方法,其特征在于,所述的步驟(4)具體包括以下步驟:
6.一種實(shí)現(xiàn)權(quán)利...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:俞楓,張超,汪雨秋,
申請(qǐng)(專利權(quán))人:國(guó)泰君安證券股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。