前言
在ios開發程序中,由于IOS系統的應用運行模式是一個單行程,它不像Android應用那樣多行程,庫檔案可以有多個參考,這就導致了在ios開發中不可避免地會出現多個不同版本的開源庫存在于.a庫或者專案工程里,從而導致在運行時crash,解決此類問題,目前有兩種:
1.找到沖突的庫或檔案剔除掉或換成統一版本
2.把所有存在沖突的庫制作成動態庫(.framework或.dylib)
針對以上兩種方案,我個人認為第一種方案在對存在沖突的庫里的相同其他庫不進行二次定制開發的話,是可行的,第二種方案是比較一勞永逸的方案,它可以解決99%的包沖突問題,
創建動態庫并引入靜態庫
- 創建動態庫工程

- 引入存在沖突的.a庫制作.framework 或.dylib


- 修改編譯配置,使支持編譯成動態庫

- 編譯生成framework


注意:以上截圖重的libDanaleSDK.a檔案是我目前工程的靜態庫,可換為自己的庫即可
經過以上步驟,即編譯配置程序已完成,手動編譯即可以在Products下生成動態庫
使用生成的動態庫
-
在工程中拖入生成好的動態庫,在Build Phases -> Link Binary With Libraries 加入參考動態庫

-
在工程中 General -> Frameworks,Libraries,and Embedded Content 加入動態庫,并且把 Embed選項改為Embed Without signing

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/247673.html
標籤:其他
上一篇:Android學習記錄(四)
