記一次pod本地庫(kù)升級(jí)的問(wèn)題

前提

  • 由于歷史原因我們的UMengSDK使用的是本地庫(kù)的方式導(dǎo)入的,相關(guān)SDK放在我們項(xiàng)目根目錄下的UMengSDK目錄下:
    如下圖:


  • Podfile中指定了UMengSDK的path,如下圖:


升級(jí)

  • 由于Apple對(duì)隱私信息管控的升級(jí) , UMengSDK需要在其相應(yīng)SDK中添加PrivacyInfo.xcprivacy文件, 接入U(xiǎn)MengSDK的App為了通過(guò)Apple審核,就需要升級(jí)UMengSDK到包含PrivacyInfo.xcprivacy文件的版本。
  • 通常對(duì)于pod直接導(dǎo)入的三方庫(kù)我們,直接修改版本就行,對(duì)于使用pod導(dǎo)入本地庫(kù)的我們也是直接下載相應(yīng)版本的SDK然后直接將老的SDK替換掉就行。
  • 為了迎合Apple審核,這次我們需要把使用的下圖中的版本

    替換為包含PrivacyInfo.xcprivacy文件的下圖中的版本
  • 我就是這么替換的

問(wèn)題

  • 替換之后,打包后使用工具掃描,發(fā)現(xiàn)包里并沒(méi)有PrivacyInfo.xcprivacy文件,也就是PrivacyInfo.xcprivacy并沒(méi)有打進(jìn)去。因?yàn)槲覀儽镜貛?kù)中的UMengSDK.podspec文件中并沒(méi)有將PrivacyInfo.xcprivacy文件pod進(jìn)去的配置

    所以,PrivacyInfo.xcprivacy文件不會(huì)作為資源被pod導(dǎo)入,更不會(huì)打進(jìn)包里。

解決

  • 我們需要在UMengSDK.podspec文件中對(duì)PrivacyInfo.xcprivacy進(jìn)行配置,使其被pod導(dǎo)入我們的項(xiàng)目,進(jìn)而被打進(jìn)包里。
    對(duì)其配置如下:


    然后再執(zhí)行pod install,重新打開項(xiàng)目,就可以看到相應(yīng)的SDK中都導(dǎo)入了PrivacyInfo.xcprivacy文件

  • 再次編譯項(xiàng)目招到打包產(chǎn)物,顯示包內(nèi)容就可以看到相應(yīng)的budle了。
    通常我們可以在Xcode中左側(cè)導(dǎo)航欄中的product目錄下找到對(duì)應(yīng)的打包產(chǎn)物


    對(duì)打包的產(chǎn)物進(jìn)行顯示包內(nèi)容就可以看到對(duì)應(yīng)的bundle

    對(duì)bundle顯示包內(nèi)容,就可以看到PrivacyInfo.xcprivacy文件了

resource_bundle 和 resource_bundles 的使用

  • resource_bundle/s 允許定義當(dāng)前 Pod 庫(kù)的資源包的名稱和文件。用 hash 的形式來(lái)聲明,keybundle 的名稱,value 是需要包括的文件的通配 patterns。
    patterns**/表示任何子孫目錄,*.文件格式表示任何名字的這種格式的文件
  • resource_bundle 用來(lái)指定一個(gè)bundle
  • resource_bundles 可以指定多個(gè)bundle
  • 可以參考這篇文章的的講解
?著作權(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)容

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