2016-07-28 68 views
2

這真讓人沮喪。我已經將Braintree庫集成到了幾個iOS項目中,然後才能在swift中使用,並且從未真正遇到過問題,但目前我無法使其工作。爲什麼我的簡單目標橋接頭無法找到文件「BraintreeCore.h」?

我跟隨/重複此份說明,一遍又一遍:

https://developers.braintreepayments.com/start/hello-client/ios/v4

具體來說,我把莢「布倫特裏」在我Podfile,跑吊艙安裝和莢更新,並驗證了布倫特裏庫現在出現在Pods目錄中。

我已經重新做了我的橋頭3次,現在也小心地將目標設置到我的應用程序。我也一遍又一遍地驗證,我已經將我的Build Settings中的目標C橋接頭設置爲正確的文件,併成功地爲其他目標C文件創建了橋接頭。不過不幸的是以下行就是不能在橋接頭工作:

#import "BraintreeCore.h" 
#import "BraintreeUI.h" 

他們都提供相同類型的編譯錯誤,說BraintreeCore.h未找到文件。

我能做到以下幾點沒有得到一個錯誤:

#import "Pods/Braintree/BraintreeCore/Public/BraintreeCore.h" 

但是,當我嘗試做相同的BraintreeUI.h像這樣:

#import "Pods/Braintree/BraintreeUI/Public/BraintreeUI.h" 

它把我的BraintreeUI.h文件並告訴我BraintreeUI.h文件中沒有關於此行的「BraintreeCore/BraintreeCore.h」文件:

#import <BraintreeCore/BraintreeCore.h> 

我在做什麼錯?這應該是直截了當的,但現在已經超過12個小時令我感到憤怒。

回答

3

完全披露:我在iOS SDK上的Braintree工作。

您的橋接頭不需要您指定傘頭文件的路徑。這可能表明您的Xcode項目的構建配置已設置,以便Xcode的構建系統無法找到頭文件。在一個典型的項目中,你應該能夠做到這一點沒有問題。

我的建議是採取一個仔細看項目>構建設置>搜索路徑設置。特別是,頭搜索路徑設置應該包含一項內容,看起來像這樣:

"${PODS_ROOT}/Headers/Public/Braintree"

如果沒有,我懷疑的CocoaPods不打尼斯Xcode項目。你可能想嘗試去整合和重新整合。使用CocoaPods 1.0,您應該能夠執行pod deintegrate,確保您的Pods/文件夾被刪除,並運行pod install。最糟糕的情況是,你可能只想從一個全新的Xcode項目開始,並拖拽舊的源文件(儘管這可能是一個很大的麻煩)。

0

您是否找到解決方案HelloCoding?面對同樣的問題...

就我而言,我注意到Braintree文檔中提到「如果您的應用程序是用Swift編寫的,但您的CocoaPods集成不使用動態框架,則可以在橋接標題中導入Braintree」。

所以我刪除了從橋文件導入,幷包括一個「use_frameworks!」指令在我的Podfile中。

我不知道這是否是批准的方式來解決問題,但它似乎爲我工作。