podspec引入library

自己寫的庫(kù)需要引用第三方的library,咋整?

s.vendored_libraries = 'YourPod/Lib/**/*.a'

就這?!那我還記錄個(gè)啥。。。

通過(guò)vendored_libraries引入,僅會(huì)在library search path中添加library。但是頭文件并不會(huì)自動(dòng)引入。代碼中引用該library會(huì)提示找不到文件。
需要通過(guò)配置xcconfig的HEADER_SEARCH_PATHS屬性,指定library header所在的位置:

s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/YourPod/YourPod/Lib/include/**'}

配置完HEADER_SEARCH_PATHS后又發(fā)現(xiàn)個(gè)問(wèn)題,這個(gè)值是寫入到Pods項(xiàng)目 > YourPod的Target > Build Settings > HEADER SEARCH PATHS 內(nèi)的,用于Pods項(xiàng)目編譯你的YourPod庫(kù)時(shí)找到你的library頭文件,但是!這tm是個(gè)絕對(duì)地址。
這個(gè)地址分為兩種情況:

開發(fā)你的pod代碼庫(kù)時(shí):

一般情況都是用pod lib create YourPod 命令創(chuàng)建pod庫(kù),里面會(huì)生成YourPod源碼文件夾,還會(huì)生成Example項(xiàng)目用于調(diào)試,YourPod源碼文件夾和Example是在同一級(jí)目錄的,YourPod源碼(包含你的library)在Pods項(xiàng)目?jī)?nèi)編譯時(shí),YourPod源文件相對(duì)于Pods項(xiàng)目的路徑為:'${PODS_ROOT}/../../YourPod',所以podspec內(nèi)編輯:

s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/../../YourPod/Lib/include/**'}

完成pod后正式引用時(shí):

YourPod原代碼會(huì)通過(guò)git下載到Pods項(xiàng)目文件夾內(nèi),YourPod源碼(包含你的library)在Pods項(xiàng)目?jī)?nèi)編譯時(shí),YourPod源文件相對(duì)于Pods項(xiàng)目的路徑為:'${PODS_ROOT}/YourPod/YourPod',所以正式的podspec內(nèi)編輯:

s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/YourPod/YourPod/Lib/include/**'}

所以針對(duì)不同階段,需要注意HEADER_SEARCH_PATHS的配置。
或者直接用下面一種發(fā)布版的配置,然后在開發(fā)階段將YourPod源碼文件夾復(fù)制一份到 Example/Pods/文件夾下,模擬一份正式版引用'${PODS_ROOT}/YourPod/YourPod/Lib/include/**'的環(huán)境。

暫時(shí)只有這個(gè)笨辦法,有更優(yōu)解嗎?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 開發(fā)的過(guò)程當(dāng)中,導(dǎo)入第三方庫(kù)(framework/.a)或者下載使用別人的demo會(huì)經(jīng)常會(huì)遇到一些關(guān)于庫(kù)的導(dǎo)入的問(wèn)...
    lhg_serven閱讀 3,994評(píng)論 0 8
  • 背景: 目前所在的項(xiàng)目組是多媒體開發(fā)組,項(xiàng)目開發(fā)的場(chǎng)景包括了播放器,特效,視頻編輯,視頻模板,代碼規(guī)范工具等多個(gè)場(chǎng)...
    時(shí)雨最愛(ài)編程了閱讀 9,349評(píng)論 5 25
  • 說(shuō)明時(shí)間首次發(fā)布2017年10月12日最近更新2019年03月15日 背景:這兩天項(xiàng)目的尾巴收的差不多了,趁有些時(shí)...
    不怕酸的小胖閱讀 554評(píng)論 0 4
  • 前言 Tensorflow是goole開源的一套機(jī)器學(xué)習(xí)庫(kù),本篇文章并不介紹通過(guò)Tensorflow來(lái)生成預(yù)測(cè)模型...
    齊滇大圣閱讀 1,223評(píng)論 4 5
  • 使用pod安裝三方庫(kù) 我們新建一個(gè)不帶測(cè)試模塊的名為FFDemo的Swift項(xiàng)目,它的目錄結(jié)構(gòu)是這樣的 ├── F...
    小昊閱讀 760評(píng)論 0 1

友情鏈接更多精彩內(nèi)容