2014-02-18 30 views
3

CocoaPods不再在pod install上爲我的項目自動創建Pods.xcconfig文件。該文件在項目工作區內以紅色字體顯示,不在Pods/目錄中。CocoaPods無法在pod安裝上創建Pods.xcconfig

Podfile看起來是這樣的:

platform :ios, '7.0' 

target "ProjectName" do 

    # Team Created Pods - kept and versioned in private spec repo 
    pod 'ProjectImageObject', '0.1.0' 
    pod 'Image+Bundle+Name', '0.1.0' 

    # Team Forked Pods - kept and versioned in private spec Repo 
    pod 'MagicalRecord', '2.2.1-pn' 

    pod 'KeychainItemWrapper', '0.1.0' 
    pod 'DCRoundSwitch', '0.1.0' 
    pod 'JBSignatureController', '0.1.0' 
    pod 'MBProgressHUD', '0.5.1-pn' 
    pod 'PKRevealController', '1.1.0-pn' 
    pod 'SMCalloutView', '2.0' 
    pod 'SVPullToRefresh', '0.4.2-pn' 
    pod 'TimesSquare', '1.1.0-pn' 
    pod 'XMLReader', '0.1.0' 

    # Third-Party Pods 
    pod 'Reachability', '~> 3.1.1' 
    pod 'AFNetworking', '~> 2.1' 
    pod 'TTTAttributedLabel', '~>1.8' 
    pod 'TPKeyboardAvoiding', '~> 1.2.3' 
end 

target "ProjectNameTests" do 

    # Team Created Pods - kept and versioned in private spec rep 
    pod 'SharedTestCore' 

    # Third-Party Pods 
    pod 'OCHamcrest', '~> 3.0.1' 
    pod 'OCMockito', '~> 1.1.0' 
end 

當我運行通過終端pod install,不會引發錯誤。奇怪的是,Pods-ProjectName.xcconfig已創建。

我需要做些什麼來修復CocoaPods以自動創建Pods.xcconfig文件?

我試過到目前爲止:

  • 再次運行pod install
  • 刪除Pods/目錄,Podfile.lock,項目workspace和運行pod install
  • 驗證所有search paths是默認值(的CocoaPods幫助指導提到了這一點,否則可能會導致問題?)

回答

7

本來,我沒在我的Podfile中指定target "ProjectName"包裝。相反,我根本就

# Team Created Pods - kept and versioned in private spec repo 
pod 'ProjectImageObject', '0.1.0' 
pod 'Image+Bundle+Name', '0.1.0' 

# Team Forked Pods - kept and versioned in private spec Repo 
pod 'MagicalRecord', '2.2.1-pn' 
# ... and so on ... 

因此,Pods.xcconfig(用於universal莢列表)創建並libPods.a加入到我的ProjectName目標的Link binary with library構建階段。

後來,我裹在target "ProjectName" do說塊,即

target "ProjectName" do 

    # Team Created Pods - kept and versioned in private spec repo 
    pod 'ProjectImageObject', '0.1.0' 
    pod 'Image+Bundle+Name', '0.1.0' 

    # Team Forked Pods - kept and versioned in private spec Repo 
    pod 'MagicalRecord', '2.2.1-pn' 
    # ... and so on... 
end 

這創造了一個Pods-ProjectName.xcconfig,但它確實創建Pods.xcconfig(因爲沒有文件屬於default莢列表)或libPod.a

的CocoaPods也做從工作區Link binary with library構建階段或Pods.xcconfig刪除libPods.a

這導致鏈接器錯誤的影響libPods.a can not be found

要解決它,我恢復了原來的目標少pod語句(我ProjectNameTest目標需要看到這些莢太),不得不手動從工作區中刪除從Link binary with library構建階段libPods.aPods.xcconfig。理想情況下,CocoaPods會爲你清理這個清理工作,並希望在未來這種情況下(當前版本的CocoaPods是0.29,這需要手動清理過程)。