2017-06-21 225 views
3

我在我的swift 3項目中安裝了一個Objective C窗格。我在Podfile中包含「use_frameworks」,所以我不需要添加任何東西到我的橋接頭。當在Swift項目中使用ObjectiveC時,cocoaPods中#import文件未找到錯誤

問題是,當我包括(第三方)生成試圖從莢#IMPORT一個頭的ObjectiveC文件 - 它失敗「‘[XXXXX] .H’文件未找到」

的的ObjectiveC#import「GTLRObject.h」語句導致「GTLRObject.h文件未找到」錯誤。

我Podfile:

target 'myHelloWorld' do 
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks 
use_frameworks! 
pod 'GoogleAPIClientForREST' 
end 

橋接報頭。我需要包括對產生的ObjectiveC類的頭,所以我可以在我的SWIFT代碼中使用它:

#import "GTLREcho.h" 

GTLREcho.h:

// NOTE: This file was generated by the ServiceGenerator. 

// ---------------------------------------------------------------------------- 
// API: 
// echo/v1 
// Description: 
// This is an API 

#import "GTLREchoObjects.h" 
#import "GTLREchoQuery.h" 
#import "GTLREchoService.h" 

錯誤是在GTLREchoObjects.h。 #進口「GTLRObject.h」 = 「‘GTLRObject.h’找不到文件」

#if GTLR_BUILT_AS_FRAMEWORK 
    #import "GTLR/GTLRObject.h" 
#else 
    #import "GTLRObject.h" 
#endif 

如果我嘗試和迅速文件引用GTLRObject我沒有得到任何錯誤例如

import Foundation 
import GoogleAPIClientForREST 

class ControllerHello: NSObject { 

func sayHello(strTest: String){ 
    let gtlObject = GTLRObject 
    } 
} 

任何意見讚賞。

+0

更新用戶標題搜索路徑似乎解決了這個問題。見[這個答案。](https://stackoverflow.com/questions/29080026/how-to-reference-header-files-in-bridging-header-h-after-updating-cocoapods-to-0) – greentor

回答

3

既然這個答案我對別人有用。

當使用GoogleAPIClientForREST

打開TARGETS>App>Build Settings

User Header Search Paths對於添加Pods和選擇recursive

enter image description here

相關問題