添加googleobjective-capi';GTL&x27;到iPhone项目
如何将Google Drive API添加到我的iPhone项目中,以便我可以使用它 到目前为止,我已经将GTL项目拖到了我当前的应用程序项目中(因此它嵌套在我的应用程序项目下)。然后,在我的应用目标的构建阶段,我添加了GTL.framework,然后将GTL.framework添加到我的“链接二进制文件与库”(见附图)。这会引发以下错误:添加googleobjective-capi';GTL&x27;到iPhone项目,objective-c,xcode,api,sdk,google-drive-api,Objective C,Xcode,Api,Sdk,Google Drive Api,如何将Google Drive API添加到我的iPhone项目中,以便我可以使用它 到目前为止,我已经将GTL项目拖到了我当前的应用程序项目中(因此它嵌套在我的应用程序项目下)。然后,在我的应用目标的构建阶段,我添加了GTL.framework,然后将GTL.framework添加到我的“链接二进制文件与库”(见附图)。这会引发以下错误: clang: error: no such file or directory: '/Users/xxx/Library/Developer/Xcode/D
clang: error: no such file or directory: '/Users/xxx/Library/Developer/Xcode/DerivedData/Golf-hfbczyaemhyzgvbrtgdxqnlzeuaa/Build/Products/Debug-iphonesimulator/GTL/GTL'
我该如何解决这个问题
我也很难处理这个错误消息。我就是这样解决的: 确保已在GTLSource/Common/(例如,为GoogleDrive添加驱动器文件夹)下为正在使用的服务添加文件夹 在GTL.xcodeproj(您已经添加到您的工作区)下,找到GTLSource文件夹,并将其拖动到您的主项目(在您的案例中是高尔夫)。完成了 现在,您可以删除对已添加到工作区的GTL.xcodeproj的引用 使用这种方法,您甚至不需要添加库(因此,如果已经添加了库,请将它们从链接库列表中删除) 谷歌API文档与苹果的文档完全不同(不好) 我还应该提到,我正在为iOS而不是MacOSX构建一个应用程序,但这也应该适用于OSX
不仅要执行上述操作,还要进入“[项目名称]目标->构建阶段>编译源代码”并单击+按钮。然后添加所有的.m文件,由于某些原因,大多数文件不会自动添加
我还不得不从驱动器文件夹中删除(对“GTLDrive_soces.m”的引用),但我不明白为什么我必须这么做。今天大部分时间我都在为这个问题苦苦挣扎,我觉得非常沮丧。我终于弄明白了这一切,所以这里有一个简单的分步指南,介绍如何使用XCode5、使用ARC将Google API添加到iOS7项目中,而不必创建工作区或任何其他内容 RawMean提供的答案很有效,但它给了我ARC的问题。我也不喜欢这样一个事实,你必须添加项目,创建一个工作区,然后删除项目。因此,我的解决方案将处理这两个问题
svn checkouthttp://google-api-objectivec-client.googlecode.com/svn/trunk/ google api objectivec客户端从您的终端只读
。我将此代码称为“谷歌代码”安全性.framework
和系统配置.framework
。这两个是谷歌代码所要求的其他链接器标志
(确保在搜索框左侧选择了“全部”)。添加-ObjC-all_load
用户标题搜索路径
,并将完整路径添加到Goggle的/Source
目录。确保您选择了递归/Source/OAuth2/Touch
目录。将GTMOAuth2ViewTouch.xib
拖放到项目中/Source
目录。将GTLCommon\u Sources.m
和GTLCommon\u Networking.m
拖放到项目中/Source/Services/Drive/Generated
目录。将GTLDrive.h
和GTLDrive_Sources.m
拖放到项目中。如果要使用其他服务,请转到它们的目录并导入相应的.h和.m文件GTLCommon\u Sources.m
和GTLCommon\u Networking.m
都在那里。选择它们,按enter键并键入-fno objc arc
。这将为它们两个禁用ARC。确保不为任何其他文件添加此选项(除非您知道自己在做什么)GTMOAuth2ViewControllerTouch.h
和服务头。在我的例子中,因为我使用的是Google Drive,所以我还将导入GTLDrive.h
这并不能真正解决安装谷歌API的问题,但在这个repo中,我从iOS应用程序访问了谷歌表单,而没有使用谷歌API 因此,在某些项目中,您可能会跳过安装API部分 以下是如何设置它的教程: 下面是执行此操作的代码:
private static var googleFormLink: String!
private static var googleFormAppVersionField: String!
private static var googleFormUserInfoField: String!
private static var googleFormMethodInfoField: String!
private static var googleFormErrorTextField: String!
/// Setup Google Form links
static func setupOnlineLogs(#formLink: String, versionField: String, userInfoField: String, methodInfoField: String, textField: String) {
googleFormLink = formLink
googleFormAppVersionField = versionField
googleFormUserInfoField = userInfoField
googleFormMethodInfoField = methodInfoField
googleFormErrorTextField = textField
}
private static func sendError(#text: String) {
var url = NSURL(string: googleFormLink)
var postData = googleFormAppVersionField + "=" + text
postData += "&" + googleFormUserInfoField + "=" + "anothertext"
postData += "&" + googleFormMethodInfoField + "=" + "anothertext"
postData += "&" + googleFormErrorTextField + "=" + "anothertext"
var request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.HTTPBody = postData.dataUsingEncoding(NSUTF8StringEncoding)
var connection = NSURLConnection(request: request, delegate: nil, startImmediately: true)
}
我又遇到了这个问题,忘记了我以前已经解决了这个问题,登陆到这个页面时意识到我实际上已经发布了这个解决方案:)要快速解决这个问题,请使用Rob的答案并查看我自己的@RawMean,你所说的“确保你已经为你在GTLSource/Common/下使用的服务添加了文件夹”到底是什么意思(例如,为GoogleDrive添加驱动器文件夹)。“驱动器文件夹中有什么?TNX很有效,尽管它抱怨“OSX XIB不支持目标设备‘ipad’”(我使用XCode7.1.1)——我刚刚删除了引用