iOS動態(tài)庫和靜態(tài)庫知識專題導(dǎo)航
3.復(fù)雜.a靜態(tài)庫的生成和使用(包含Bundle文件和Category分類文件)
4.framework動態(tài)庫和靜態(tài)庫的生成和使用
集成靜態(tài)庫常見問題
常見問題(一)
出錯信息:
clang:?error:?linker?command?failed?with?exit?code?1?(use?-v?to?see?invocation)
可能原因:
靜態(tài)庫頭文件中有.m文件,將.m文件去除;
靜態(tài)庫文件路徑不對,設(shè)置Library Search Paths為當(dāng)前導(dǎo)入庫的相對路徑;
缺少靜態(tài)庫依賴的系統(tǒng)庫,添加相應(yīng)的依賴庫;
靜態(tài)庫中存在OC分類、C文件、C++文件,設(shè)置Other Linker Flags為響應(yīng)的值;
添加的的是動態(tài)庫,導(dǎo)入對應(yīng)的靜態(tài)庫。
終端命令如何合并兩個文件
? ? 1.打開終端;
????2."cd 文件夾"進(jìn)入要合并的文件夾路徑;
????3."pwd"查看當(dāng)前所在文件夾路徑;
????4."ls"查看當(dāng)前文件夾下文件和文件夾名稱;
????5."lipo -create 文件1 文件2 -output 新文件"合并文件1和文件2生成新文件;
????6."lipo -info 文件名"查看文件的文件信息。
Xcode13查找Products目錄
方法1:
Xcode菜單選擇 Product -> Show Build Folder in Finder -> Products 查看。

方法2:
點擊項目中的 TARGETS 中的 General 下的 Frameworks and Libraries 下的加號添加任意一個系統(tǒng)的framework;此時項目中就有了Products和Frameworks目錄(添加的Framework不想要可以刪除)。

方法3:
1. 找到項目的.xcodeproj文件,右鍵顯示包內(nèi)容;
2. 找到project.pbxproj并雙擊打開;
3. 在文件內(nèi)搜索productRefGroup,上邊有一個mainGroup,把productRefGroup的值替換為mainGroup值,然后保存關(guān)閉文件,項目左側(cè)就會出現(xiàn)Products和Frameworks目錄。

framework未發(fā)現(xiàn).h文件
出錯信息:
'xxx.h' file not found
'xxx.h'?in framework header, expected angle-bracketed instead
原因:
framework中引用頭文件需要用 <> ,而不是 "" ;且應(yīng)用時直接 #import <ProjectionScreen/xxx.h> ,而不是 #import <ProjectionScreen/MRDLNA/ARC/DLNA/xxx.h> 。

合成framework
合成framework時,只能合成xxx.framework中的同名文件,而不能直接合成xxx.framework;可以合成真機(jī)和模擬器類型的framework中的文件,不能合成真機(jī)Debug和真機(jī)Release下的framework中的文件