2014-10-07 135 views
20

我創建在Xcode 6.0.1一個新的項目,並創建以下Podfile:CocoaPods與XCode 6.0.1 - 我如何解決出現在紅色的豆莢框架?

source 'https://github.com/CocoaPods/Specs' 
platform :ios, '8.0' 

pod 'AFNetworking', '~> 2.0' 

我然後跑pod install,並在Xcode打開xcworkspace。當我構建項目時,所有框架都顯示爲紅色。例如,莢項目下的Foundation.framework顯示爲紅色,並指不存在我的電腦上的路徑:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework 

我的問題是:我怎樣才能框架出現在導航器中以黑色顯示,並將我的吊艙正確鏈接到我的主項目中?

Xcode screenshot

我已在答案中提到這個question幾個變化:

  1. 本來,libpods.a產品以紅色出現爲好。我通過將每配置構建產品路徑更改爲$(BUILD_DIR)/$(CONFIGURATION)來解決這個問題。

  2. 我已經確定我的基本SDK是我可以找到的所有目標上的iOS 8.0。

  3. 我已驗證我的有效架構已設置爲「arm64 armv7 armv7.1」,用於所有可找到的目標。

+2

對於我在主項目(tmpios)的構建設置中的「其他鏈接器標籤」中添加$(繼承)做了這個伎倆,仍然是紅色的,但鏈接正常並且運行良好。 – 2015-11-16 12:00:18

回答

3

這是正常的,因爲這些框架不存在於pod的項目路徑中。正如我在tmpios->中所看到的那樣,框架不會出現在任何應該存在的框架中。 選擇你的項目,然後Target-> tmpios-> Build Phases-> Link Binary With Libraries,然後添加你需要的框架。

如果你仍然有一個編譯錯誤,並沒有找到莢庫然後再編寫莢文件以這種方式:

source 'https://github.com/CocoaPods/Specs' 
link_with ['tmpios', 'tmpiosTests'] 
platform :ios, '8.0' 

pod 'AFNetworking', '~> 2.0' 

安裝吊艙,並在項目靶> tmpios->構建設置 - >其他鏈接器標誌,添加$(繼承)。

+0

謝謝,但這並沒有解決我的問題。另外,我試圖讓框架在Pods項目下顯示爲黑色,而不是紅色。 – 2014-10-08 14:34:23

+0

我也在尋找解決這個問題的方法。 :( – BlueConga 2014-10-26 10:20:06

+0

也在等待解決方案:(現在我結束了不使用cocoapods – Egor 2015-01-25 11:12:15

14

我有同樣的奇怪問題,其中在一臺機器上正確識別,但沒有在另一臺機器上的庫 - 那裏他們也是紅色的。

的解決方案是在Pods目標添加到建築方案(「產品中心>方案>編輯計劃...」,然後用+艙體的主要目標添加和把它放在你的主要目標的前面。) 然後cleanbuild該項目。

+0

沒有,這根本沒有幫助 – Egor 2015-01-25 11:05:43

+4

對我來說,這是解決方案,這也是cocoapods網站上的官方故障排除解決方案: http://guides.cocoapods.org/using/troubleshooting.html – High6 2015-01-25 11:23:29

+0

添加Pods框架對我來說不起作用,但是增加了單個框架 – felix 2015-04-23 10:09:07

1

只需刪除xcode中的Pods組中的所有配置並再次運行pod安裝即可。這將重新生成xcconfigs文件。然後確保它們在項目>信息>配置中正確設置

0

我有同樣的問題。原來我只需要運行與

sudo gem install cocoapods 
0

莢更新我不得不改變的路徑解決相同的問題;「紅色framework'.because路徑顯示‘SDK IOS9’before.So我設置框架位置'相對於SDK'並手動選擇正確的框架位置,並且它暫時工作。

enter image description here

我猜是因爲我更新到Xcode中8,但我coacopods仍然是舊版本,因此它與IOS9造成這個問題設置的位置。