前提
-
由于歷史原因我們的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
,重新打開(kāi)項(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)聲明,key
是bundle
的名稱罗侯,value
是需要包括的文件的通配patterns
器腋。
patterns
中**/
表示任何子孫目錄,*.文件格式
表示任何名字的這種格式的文件 -
resource_bundle
用來(lái)指定一個(gè)bundle -
resource_bundles
可以指定多個(gè)bundle - 可以參考這篇文章的的講解