已安装 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 projectBridge Google Drive API to Swift关闭 Xcode。
进入 user(you)/Library/Developer/Xcode/DerivedData 并删除 文件夹内容。
如果您在正在运行的模拟器中构建了应用程序,则需要 同时删除构建文件夹。
重新打开 Xcode。清理和构建。
Duplicate interface definition for class 'GTMHTTPUploadFetcher'你需要三样东西:
(1) 格式良好的 Podfile
platform :ios, '8.0' target 'GoogleDrive' do pod 'Google-API-Client/Drive', '~> 1.0' end
(2) 通过
bridging headers
公开Google 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")
// ...
希望这会有所帮助!
【讨论】:
以上是关于已安装 Google Drive API,但出现错误“没有此类模块 'GoogleAPIClient'”的主要内容,如果未能解决你的问题,请参考以下文章
Node JS Google Drive api方法列表返回已删除文件
从 google drive api 获取图像 URL 而不是内容
在 Laravel 5 中使用 Google Drive Api
将文件从已安装的 Google Drive 复制到本地 Google Colab 会话