1.the linked framework '' is missing one or more required by this target: i386
解決方法:
將project->Build Setting->Architectures->Build Active Architecture Only->Debug設(shè)置為YES吞加。
Build Active Architecture Only:是否只編譯當(dāng)前設(shè)備適用的指令集(如果這個(gè)參數(shù)設(shè)為YES,使用iPhone 6調(diào)試,那么最終生成的一個(gè)支持ARM64指令集的Binary衔憨。一般在DEBUG模式下設(shè)為YES叶圃,RELEASE設(shè)為NO)
2.制作過(guò)程
2.1?打開(kāi)Xcode,新建工程践图。
不要選擇“Application”掺冠,選擇“Framework & Library”。選擇第一個(gè)码党,然后Next德崭。
2.2 創(chuàng)建功能類,在新創(chuàng)建的類中聲明方法并實(shí)現(xiàn)揖盘。
2.3 更改配置參數(shù)
在TARGETS下選中工程眉厨,在Build Settings下更改幾個(gè)參數(shù)。
如果集成的項(xiàng)目支持 bitCode 就設(shè)置成yes 不支持就設(shè)置成NO:
設(shè)置Headers兽狭,將需要公開(kāi)的頭文件拖至Public下:
3.打包framework
3.1?選中Generic iOS Device憾股,編譯程序 (只支持手機(jī)格式)
3.1.1?編譯成功后,選中products下的framework箕慧,然后右鍵show in finder服球。
3.1.2 將framework拷貝保存,這就是制作的framework销钝。
3.2?選中模擬器有咨,編譯程序 (只支持模擬器格式)
3.2.1?編譯成功后,選中products下的framework蒸健,然后右鍵show in finder座享。
3.2.2?將framework拷貝保存,這就是制作的framework似忧。
4. 合并framework
為了framework 支持真機(jī) 也支持模擬器 將兩個(gè)framework 合并
我們通過(guò)終端命令將兩個(gè)framework合為一個(gè)模擬器和真機(jī)都可使用的framework渣叛。
1 在終端 輸入 lipo -info加真機(jī)上的這個(gè)文件路徑
注意: 文件末尾要帶上framework的名字
lipo-info xxxFramework.framework/xxxFramework//后加庫(kù)名
看最后 arm64 說(shuō)明是真機(jī),如此方法測(cè)試模擬器文件盯捌,需得到i386 x86_64才對(duì)淳衙。
需要將真機(jī)和模擬器framework包中這個(gè)文件合并
lipo -create 真機(jī)路徑/庫(kù)名? 模擬器路徑/庫(kù)名? -output 真機(jī)路徑/庫(kù)名
可以直接將最終生成的文件路徑設(shè)置為真機(jī)Framework包下該文件的路徑,生成的文件直接進(jìn)行覆蓋饺著,生成完畢后箫攀,直接拷貝走使用。