集成友盟分享中遇到的奇怪的錯誤

開發(fā)中遇到的一些看似不起眼的警告,往往卻是問題的所在!

這不,這次我就遇到了這個坑,為了提醒自己不要輕易忽略警告,以此文章記錄一下,埋坑的艱辛。

我是在集成友盟分享SDK的時候,使用cocoapods導入的友盟分享組件,在命令行敲下pod install只會,安裝也完成了,就是出現(xiàn)以下一些警告,我大概瀏覽了一下,看不出所以然,就沒管, 繼續(xù)在集成。

[!] The ULife [Debug] target overrides the OTHER_LDFLAGS build setting defined in Pods/Target Support Files/Pods-ULife/Pods-ULife.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or - Remove the build settings from the target.

[!] The ULife [Release] target overrides the OTHER_LDFLAGS build setting defined in Pods/Target Support Files/Pods-ULife/Pods-ULife.release.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or - Remove the build settings from the target.

直到我開始使用友盟的一些類庫時,使用也是沒有問題的,可當我編譯時,卻出現(xiàn)了以下錯誤信息:

Undefined symbols for architecture arm64: “OBJC_CLASS$_UMSocialManager”, referenced from: objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

咋一看,還以為是不支持64位呢,可是官方明明寫著支持64位的,也就沒有去懷疑官方,就開始各種清理緩存,重復編譯,各種谷歌,百度,可終究沒有可行的辦法。去友盟問客服,溝通成本太高,每次掉線,重新連接又是一個新人,也未能解決。

實在沒有辦法了,我又重新pod update一下,這次發(fā)現(xiàn)依然是上面提到的警告信息,這次我沒有忽略,而是仔細的看了下,大概知道了,產(chǎn)生此警告的原因是項目 Target 中的一些設置,CocoaPods 也做了默認的設置,如果兩個設置結(jié)果不一致,就會造成問題。

警告中,提示要想使用cocoapods中的設置,需要在項目中定義PODS_ROOT 和 Other Linker Flags的地方,把他們的值用$(inherited)替換掉。

大致解決辦法知道了, 開始在Build Settings中的PODS_ROOT和Other Linker Flags處進行修改,添加一項$(inherited),Other Linker Flags我這里沒有替換掉,而是添加一項,怕我本來的項也是有用的,就沒有替換。

最后修改后,我再次編譯,竟然通過了,我喜極而泣的寫下了這篇文章來記錄下這次忽略警告的教訓經(jīng)歷。

注:在我在網(wǎng)上搜索時,有說,點擊項目文件 project.xcodeproj,右鍵顯示包內(nèi)容,用文本編輯器打開project.pbxproj,刪除OTHER_LDFLAGS的地方,保存,回到 Xcode,編譯也能通過。這種刪除內(nèi)容的解決辦法,我一般不輕易使用的,所以我沒有去證實這種做法,若有興趣,你可以嘗試下,不過做好備份哦~~

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

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

  • 項目組件化、平臺化是技術(shù)公司的共同目標,越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構(gòu)...
    swu_luo閱讀 22,873評論 0 39
  • Cocopods的安裝 CocoaPods應該是iOS最常用最有名的類庫管理 當我們開發(fā)iOS應用時,會經(jīng)常使用到...
    陳云峰閱讀 406評論 0 0
  • 文/一刀齋 【十六】《イムジン河》V.A. 詞曲中的臨津江是朝韓國境上穿行的江河,其中深意也不待言。緣其政治體制,...
    一刀齋閱讀 800評論 0 0
  • 踩好離合,記住回正要狠踩,打死要輕踩。 側(cè)方入庫要把眼睛貼在倒車鏡上,壓黃線時候要把腦袋伸出窗戶外。 倒車入庫要學...
    青海明月閱讀 113評論 0 0
  • 今天看到自己的一個店鋪已經(jīng)是十年老店,有點唏噓,隨手記下。 都已經(jīng)記不起到底什么時候開始做淘寶的,記得剛剛玩票開了...
    船長辛巴達閱讀 530評論 6 2

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