在Swift项目中使用ObjectiveC时,cocoaPods中的#import文件未找到错误

Pet*_*odd 4 objective-c cocoapods swift

我将Swift 3项目安装了一个Objective C吊舱。我在Podfile中包含“ use_frameworks”,因此不需要在桥接头中添加任何内容。

问题是当我包含一个(第三方)生成的ObjectiveC文件,该文件试图从pod中导入一个标头时-它失败,并显示“'[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
Run Code Online (Sandbox Code Playgroud)

桥接头。我需要包括生成的ObjectiveC类的标题,以便可以在我的swift代码中使用它:

#import "GTLREcho.h"
Run Code Online (Sandbox Code Playgroud)

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"
Run Code Online (Sandbox Code Playgroud)

GTLREchoObjects.h中出现错误。#import“ GTLRObject.h” = “找不到'GTLRObject.h'文件”

#if GTLR_BUILT_AS_FRAMEWORK
   #import "GTLR/GTLRObject.h"
#else
   #import "GTLRObject.h"
#endif
Run Code Online (Sandbox Code Playgroud)

如果我尝试从一个快速文件中引用GTLRObject,我不会得到任何错误,例如

import Foundation
import GoogleAPIClientForREST

class ControllerHello: NSObject {

func sayHello(strTest: String){
    let gtlObject = GTLRObject
    }
}
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏。

gbh*_*all 5

由于此答案可能对其他人有用。

使用时GoogleAPIClientForREST

打开TARGETS> App>Build Settings

对于User Header Search Paths添加Pods并选择recursive

在此处输入图片说明