零: 前言
一直沒(méi)搞懂這三個(gè)之間的區(qū)別.
一: target depnedencies(編譯前)
這個(gè)選項(xiàng)只是告訴工程在運(yùn)行的時(shí)候先去編譯這里導(dǎo)入的庫(kù).
二:Link Binary With Libraries(編譯時(shí)期)
Link Binary With Libraries里添加的即你的某個(gè)project需要鏈接的庫(kù).
這里添加的庫(kù)都會(huì)被編譯到工程的最終包里.
只有在這里添加了.app才能找到該庫(kù)的.o文件
三.Embedded Binaries(運(yùn)行時(shí))
這個(gè)是告訴工程在app運(yùn)行時(shí)去哪些庫(kù)里找實(shí)現(xiàn)方法.
這個(gè)選項(xiàng)只有在可運(yùn)行的project里有.即你工程的總殼(有main.m文件的project)
不可運(yùn)行(靜.動(dòng)態(tài)庫(kù) >> 沒(méi)有main.m文件)的project是沒(méi)有這個(gè)選項(xiàng)的.因?yàn)樗麄儾豢赡苓M(jìn)入運(yùn)行時(shí)狀態(tài).
四.總結(jié)
1.當(dāng)你導(dǎo)入一個(gè)庫(kù)時(shí).target dependencies和link binary with libraries兩個(gè)選項(xiàng)都必須設(shè)置.
只有可運(yùn)行的project里需要設(shè)置embedded binaries.
2.所以當(dāng)你引入一個(gè)靜態(tài)庫(kù)的時(shí)候.只需要設(shè)置Link binary with libraries選項(xiàng)就可以了.因?yàn)樗恍枰幾g.
3.當(dāng)你embedded 一個(gè)庫(kù)時(shí)xcode會(huì)自動(dòng)幫你設(shè)置target dependencies 和 link binary with libraries