[發明專利]一種IOS編譯方法及相關設備在審
| 申請號: | 202010144500.8 | 申請日: | 2020-03-04 |
| 公開(公告)號: | CN113360156A | 公開(公告)日: | 2021-09-07 |
| 發明(設計)人: | 陳凡 | 申請(專利權)人: | 武漢斗魚魚樂網絡科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/61;G06F8/65 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 徐松 |
| 地址: | 430000 湖北省武漢市東湖新技術開發區軟件園東路*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ios 編譯 方法 相關 設備 | ||
1.一種IOS編譯方法,其特征在于,包括:
通過git獲取各組件的源代碼;
通過第三類庫管理工具CocoaPods組件管理方式pod install構建整體工程,所述整體工程包括所述各組件;
編譯所述整體工程,得到所述整體工程中各組件對應的靜態庫,并將所述靜態庫存儲至共享緩存目錄中;所述將所述靜態庫存儲至共享緩存目錄中包括:將所述各組件對應的靜態庫以組件名稱、組件版本和組件編譯模式關聯存儲至所述共享緩存目錄中,所述組件編譯模式包括Debug模式或者Release模式;
當所述整體工程中存在更新源代碼的第一組件時,將所述第一組件編譯成所述第一組件對應的靜態庫,以使得當所述整體工程需要所述第一組件時,將所述第一組件對應的靜態庫組合至所述整體工程中;
將所述各組件的源代碼以所述源代碼的文件名和所述源代碼的md5值關聯存儲至本地數據庫;
所述通過第三類庫管理工具CocoaPods組件管理方式pod install構建整體工程,所述整體工程包括所述各組件包括:判斷當前組件是否已存在靜態庫;若存在,則通過所述CocoaPods將所述當前組件的靜態庫組合進所述整體工程中;若不存在,則通過所述CocoaPods將所述當前組件的源代碼組合進所述整體工程中。
2.根據權利要求2所述的方法,其特征在于,所述判斷當前組件是否已存在靜態庫包括:
在執行所述pod install時查找所述當前組件的二進制文件,并判斷所述二進制文件是否以commit形式安裝;
若是,則根據所述當前組件的名稱、所述當前組件的版本和所述當前組件的編譯模式在所述共享緩存目錄中確定是否存在所述當前組件對應的靜態庫。
3.根據權利要求2所述的方法,其特征在于,所述根據所述當前組件的名稱、所述當前組件的版本和所述當前組件的編譯模式在所述共享緩存目錄中確定是否存在所述當前組件對應的靜態庫包括:
按照文件目錄路徑所述在所述共享緩存目錄中查找所述當前組件對應的靜態庫,所述文件目錄路徑包括當前組件的編譯模式/庫名稱/所述當前組件的版本/lib庫名稱.a。
4.根據權利要求1所述的方法,其特征在于,所述編譯所述整體工程包括:
當編譯所述整體工程中第二組件時,確定所述第二組件的源代碼是否存在中間目標文件,所述第二組件為所述整體工程中的任一組件;
若存在,則使用所述中間目標文件進行編譯;
若不存在,則使用所述第二組件的源代碼進行編譯。
5.根據權利要求1所述的方法,其特征在于,所述將所述各組件對應的靜態庫以組件名稱、組件版本和組件編譯模式關聯存儲至所述共享緩存目錄中包括:
讀取所述pod install生成的配置文件,以獲取全部靜態庫以及所述各靜態庫分別對應的版本;
按照編譯輸出目錄/所述各組件對應的靜態庫名稱/lib庫名稱.a在所述配置文件中查找所述各組件對應的靜態庫;
按照所述組件編譯模式/庫名稱/版本/lib庫名稱.a的文件路徑關聯存儲至所述共享緩存目錄中。
6.根據權利要求1所述的方法,其特征在于,所述通過git獲取各組件的源代碼包括:
基于超文本傳輸協議http,通過git clone命令獲取各組件的源代碼;
或者,
當系統中安裝安全外殼協議SSH時,基于所述SSH,通過命令git pull ssh地址獲取所述各組件的源代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚魚樂網絡科技有限公司,未經武漢斗魚魚樂網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010144500.8/1.html,轉載請聲明來源鉆瓜專利網。





