2014-01-29 64 views
2

這隻發生在一臺Mac mini構建服務器的機器上。它對armv7s有同樣的錯誤。它適用於多個Ubuntu構建代理和本地機器(Macbook Pro)。這些服務器都具有相同的:ld:在使用CocoaPods時找不到架構armv7的符號

  • 的XCode版本(5.0)
  • Podfile/Podfile鎖定
  • 波德緩存(清除它的每一臺機器上)
  • Maven的版本(3.1.1)
  • 的CocoaPods版本(0.29.0)

在使用該吊艙是TTTAttributedLabel:

[INFO] Undefined symbols for architecture armv7s: 
[INFO] "_kCTUnderlineStyleAttributeName", referenced from: 
[INFO]  -[TTTAttributedLabel commonInit] in libPods.a(TTTAttributedLabel.o) 

但是TTTAttributedLabel並未用作吊艙,而是將其源直接粘貼到另一個添加到此項目中的專用吊艙。我不知道爲什麼,因爲我沒有開發它,沒有開發人員。 TTTAttributedLabel的來源是以某種方式定製的,所以我不願意改變它,因爲這是一個生產版本。

所以我有一個主要的項目,其中包含一個專用的pod,它的源代碼中有來自TTTAttributedLabel的代碼。

專用吊艙確實安裝正確。 TTTAttributedLabel文件包含在專用窗格的編譯源中。 libPods.a似乎在XCode中正確鏈接。主項目和pod的有效體系結構都是相同的(armv7和armv7s)。

我已經嘗試了幾乎每個答案,我可以在互聯網上找到最近〜6個小時。

爲什麼服務器找不到這些符號?爲什麼它在任何地方都能工作,但在這裏

回答

-1

問題清潔工作區是cocoapods版本0.23.0(或低於0.29.0的東西)。儘管構建服務器的版本爲0.29.0,但構建實際上是使用Ruby的system()命令在Rails子shell中運行的。這意味着它也使用Rails捆綁包,它只有cocoapods 0.23.0。

+0

那麼你做了什麼來解決這個問題? – Inn0vative1

3

我有這個有一天,我不得不清除緩存,然後通過運行重新安裝莢如下:

rm -rf "${HOME}/Library/Caches/CocoaPods" 
rm -rf "`pwd`/Pods/" 
pod update 

然後通過使用爲Cmd + Shift + K

+0

我確實嘗試了第一個命令,但不是第二個使用'pwd'。我明天會試試這個,謝謝。 –

+0

歡迎,很高興幫助:) – virindh

+0

仍然沒有工作! Gah –

相關問題