Podfile 文件配置編譯環(huán)境
我們平時開發(fā)在測試環(huán)境硫朦,難免會添加一些用來調(diào)試的庫贷腕,進(jìn)行開發(fā)調(diào)試,方便自己更快的發(fā)現(xiàn)問題咬展,定位問題泽裳,但是這些庫我們是不希望在Release 環(huán)境下也被編譯進(jìn)去,干擾了線上代碼的破婆,所以就需要指定Pod庫的編譯環(huán)境,
我以滴滴研發(fā)的調(diào)試工具DoraemonKit為例
pod 'DoraemonKit', '~> 3.0.2', :configurations => ['Debug','Test']
我是多增加了Test 環(huán)境涮总。這樣子pod庫就能區(qū)分在哪個環(huán)境編譯哪些第三方庫。
指定了Debug編譯環(huán)境才編譯的庫祷舀,Release 環(huán)境還會編譯么瀑梗?
我最開始也是以為,指定了Debug 環(huán)境下編譯的庫裳扯,Release 環(huán)境下代碼是干凈的夺克,不會有Debug 環(huán)境下才編譯的庫,其實不然嚎朽,發(fā)現(xiàn)這個問題也是因為踩到了坑铺纽。還是以DoraemonKit為例:
iOS 13 剛出來的時候,我項目里面有DoraemonKit指定了Debug環(huán)境下編譯哟忍,但是線上包有個崩潰狡门,是由于一個TextView分類庫 setKeyPath 引起的陷寝,而這個庫我是沒導(dǎo)入的,后來發(fā)現(xiàn)是DoraemonKit里面有引用這個庫其馏,但是Release 環(huán)境還是給編譯進(jìn)去了桂敛。后期版本DoraemonKit移除了對這個庫的關(guān)聯(lián)。也就沒這個問題了烦却。
最近DoraemonKit群里面在聊因為UIWebView 被蘋果拒絕的上傳包的問題家厌,很多小伙伴都說自己的項目里已經(jīng)不包含UIWebView了,為啥還是被拒了褐奥,查看是DoraemonKit里面包含了咖耘,當(dāng)然作者很快更新了版本把UIWebView 替換掉了,還是很給力的撬码。
然后Archive 時候也可以看下log日志儿倒,是能看到Release 環(huán)境還是編譯了,雖然 + load 方法沒走呜笑,頭文件也不能被訪問夫否,但不是完全不被編譯。現(xiàn)在我為了不影響線上代碼叫胁,每次打線上包都要移除調(diào)試庫凰慈,才放心。所以誰有完全不編譯調(diào)試庫的方式驼鹅,煩請說一下溉瓶,謝謝。
我以DoraemonKit為例谤民,可不是說這是因為調(diào)試庫引起的堰酿,是pod 指定編譯環(huán)境,不能夠完全不編譯张足,DoraemonKit功能還是很強大的触创,感謝作者的辛苦付出。