已安装 Google Drive API,但出现错误“没有此类模块 'GoogleAPIClient'”

Posted

技术标签:

【中文标题】已安装 Google Drive API,但出现错误“没有此类模块 \'GoogleAPIClient\'”【英文标题】:Installed Google Drive API, but have the error "no such module 'GoogleAPIClient'"已安装 Google Drive API,但出现错误“没有此类模块 'GoogleAPIClient'” 【发布时间】:2016-07-04 01:59:29 【问题描述】:

我已完成此链接指示的每个步骤 (https://developers.google.com/drive/ios/quickstart?ver=swift)。但是,我收到导入 GoogleAPIClient 行的错误。错误状态“没有这样的模块'GoogleAPIClient'”。我已经阅读了其他提到 Ruby 和 Cocoa Pods 的线程,它们在我的项目中都是最新的。

目前我正在寻找任何建议,我只是感到困惑。

【问题讨论】:

【参考方案1】:

在导入任何内容之前,请确保在 pod 完成安装后构建项目。

还要确保您也在使用 .xcworkspace 文件,而不是支架 .xcodeproj

【讨论】:

【参考方案2】:

我发现出了什么问题。我找到了这个答案:can't find Pods.modulemap - looking in wrong directory

该解决方案非常适合我。它没有解决同样的问题,但解决方案也解决了这个问题

基本上,这样做:

打开终端并输入以下命令 cd ~/Library/Developer/Xcode/DerivedData rm -rf Build/* rm -rf ModuleCache/* 关闭终端 打开 Xcode 并打开项目 产品 > 清洁

现在应该可以工作了!

【讨论】:

【参考方案3】:

尝试以下解决方法:

进入您的构建设置并将框架搜索路径定义到包含相关框架的文件夹。如果框架放置在您的项目目录中,只需将框架搜索路径设置为 $(SRCROOT) 并将其设置为递归即可。 FRAMEWORK_SEARCH_PATHS 构建设置需要指向框架的位置。

检查这些相关线程:

Getting error "No such module" using Xcode, but the framework is there No such module while importing my custom framework to the project

关闭 Xcode。

进入 user(you)/Library/Developer/Xcode/DerivedData 并删除 文件夹内容。

如果您在正在运行的模拟器中构建了应用程序,则需要 同时删除构建文件夹。

重新打开 Xcode。清理和构建。

Bridge Google Drive API to Swift

你需要三样东西:

(1) 格式良好的 Podfile

platform :ios, '8.0'

target 'GoogleDrive' do
pod 'Google-API-Client/Drive', '~> 1.0'
end

(2) 通过bridging headers公开Goog​​le API

#import "GTMOAuth2ViewControllerTouch.h"
#import "GTLDrive.h"

(3) Swift 客户端类中不需要引用 GTLDrive

override func viewDidLoad() 
    super.viewDidLoad()
    // ...

    let service:GTLServiceDrive = GTLServiceDrive()
    service.authorizer = GTMOAuth2ViewControllerTouch.authForGoogleFromKeychainForName("Drive

API", 客户端ID:“YOUR_CLIENT_ID_HERE”, clientSecret: "YOUR_CLIENT_SECRET_HERE")

    // ...

Duplicate interface definition for class 'GTMHTTPUploadFetcher'

希望这会有所帮助!

【讨论】:

以上是关于已安装 Google Drive API,但出现错误“没有此类模块 'GoogleAPIClient'”的主要内容,如果未能解决你的问题,请参考以下文章

Node JS Google Drive api方法列表返回已删除文件

从 google drive api 获取图像 URL 而不是内容

在 Laravel 5 中使用 Google Drive Api

将文件从已安装的 Google Drive 复制到本地 Google Colab 会话

如何通过 Google Drive .NET API v3 使用服务帐户访问 Team Drive

没有收到 Google-Drive 推送通知