2014-10-20 67 views
25

我剛剛升級到OS 10.10 Yosemite和Xcode 6,並且無法讓我的iOS應用程序與CocoaPods依賴關係構建。Xcode 6.1和Cocaopods集成/依賴項錯誤 - 庫找不到-lPods- {Pod Name}

做了清理並生成我得到一個Apple Mac-O Linker Error如下圖所示

Ld /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator/ToWatchList.app/ToWatchList normal i386 
    cd "/Users/nick/Dropbox/ToWatchList/ToWatchList App" 
    export IPHONEOS_DEPLOYMENT_TARGET=8.0 
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator -F/Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator -F/Users/nick/Dropbox/ToWatchList/ToWatchList\ App/Pods/CrashlyticsFramework -F/Users/nick/Dropbox/ToWatchList/ToWatchList\ App -filelist /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Intermediates/ToWatchList.build/Release-iphonesimulator/ToWatchList.build/Objects-normal/i386/ToWatchList.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-AFNetworking -lPods-AuxRepo -lPods-CrashlyticsFramework -lPods-Reachability -lPods-SSKeychain -lPods-SVProgressHUD -lPods-Tapstream -framework CoreGraphics -framework Crashlytics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.0 -lz -lPods -Xlinker -dependency_info -Xlinker /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Intermediates/ToWatchList.build/Release-iphonesimulator/ToWatchList.build/Objects-normal/i386/ToWatchList_dependency_info.dat -o /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator/ToWatchList.app/ToWatchList 

ld: library not found for -lPods-AFNetworking 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

它似乎有與OTHER_LDFLAGS(其它鏈接器標記)在我的項目的東西,因爲如果我首先要重新安排我的莢後,我應用程序目標 - >構建設置 - >其他鏈接器標誌,並重新排序列表上的項目,我可以得到其他的豆莢以同樣的方式生成鏈接器錯誤(所以至少它不是AFNetworking的問題)。 Cocoapods和xCode不會產生任何其他錯誤或警告。

到目前爲止,我已經試過:

  • 更新到的CocoaPods與最新版本:sudo gem update cocoapods

  • 談到了所有的豆莢在我podfile,運行pod update清除它們全部出來,然後取消註釋並運行pod update重新下載並安裝所有依賴項。

  • 刪除我的莢文件夾,並鎖定文件,然後運行pod install從頭開始重新安裝莢

遺憾的是沒有這些措施修復了這個錯誤,所以我猜有一些構建設置,我需要調整我的項目,但我不確定接下來要嘗試什麼。

+0

我有同樣的問題,並花了永恆的嘗試找到解決方案。 – ZaBlanc 2014-11-10 22:35:29

+2

我忘了從CocoaPods中讀取一條重要的代碼,它說使用xcworkspace文件打開項目,而不是xcodeproj文件。這解決了我的問題。 – thsorens 2014-11-13 12:55:14

+1

@thsorens尼斯,很高興你解決它。這總是很重要,否則沒有任何工作,所以感謝提醒(雖然這顯然不是我的問題)。 – Nick 2014-11-14 03:55:56

回答

29

爲了解決這個問題,我不得不刪除libPods.a應用目標 - >一般 - >鏈接的框架和庫。它以紅色突出顯示(意思不明),但我不需要替換它;簡單地清理就足夠了。

+2

我也注意到突出顯示的紅色libPods.a文件。如果覺得不正確,請刪除它。在閱讀你的建議後,我大膽地將其刪除。但它並沒有解決原來的問題。 我想知道爲什麼。 – 2014-10-22 07:05:00

+0

我假設你和我有同樣的錯誤?也許我列出的其他事情之一會幫助或做那些不起作用? – Nick 2014-10-22 07:07:18

+0

我和你有同樣的問題。 – 2014-10-31 09:29:33

41

仔細檢查您是否打開.xcworkspace文件而不是.xcodeproj文件,這是導致此類問題的常見錯誤。

+2

解決了問題而不刪除東西。謝謝! – StefMa 2014-11-28 09:08:27

+0

是的,這絕對解決了這個問題。 – 2015-07-03 11:06:10

6

對我來說,問題是我的項目和Cocoapod的構建配置不匹配,這(我認爲)意味着他們正在尋找編譯庫的不同目錄。

1

我有同樣的問題。

我的問題是我的目標上的「Build Active Architectures」,我的Pod目標完全不匹配。

使它們相同後問題就解決了。

0
  1. 轉到「項目目標 - >生成設置 - >預處理 - >預處理器宏」。設置「的CocoaPods = 1」中的所有調試,集成,在「預處理宏」

  2. 版本添加以下下的「計劃目標」 $繼承 -ObjC -lC++ -all_load

    「其他鏈接器標記」
  3. 將部署目標從7.0升級到8.0並啓用use_frameworks後出現同樣的問題!