How to I add the Google Drive API to my iPhone project to I can use it?
So far, I have dragged the GTL project into my current app project (so that it is nested under my app project). Then, under my app target's build phases, I added GTL.framework, and then added GTL.framework to my 'Link binary with Libraries' (see attached pic). This throws the following error:
clang: error: no such file or directory: '/Users/xxx/Library/Developer/Xcode/DerivedData/Golf-hfbczyaemhyzgvbrtgdxqnlzeuaa/Build/Products/Debug-iphonesimulator/GTL/GTL'
How to I fix this?
I struggled with this exact issue for most of the day today, and I found it extremely frustrating. I have finally figured it all out so here is a straightforward step by step guide on how to add the Google API to an iOS7 project using XCode5, using ARC, without having to create Workspaces or any of that.
The answer provided by RawMean works well, but it gave me issues with ARC. I also didn't like the fact that you had to add project, create a workspace and then delete the project. So my solution will deal with both these issues.
svn checkout http://google-api-objectivec-client.googlecode.com/svn/trunk/ google-api-objectivec-client-read-only
from your terminal. I will refer to this code as "Google's code".Security.framework
and SystemConfiguration.framework
. These two are required by Google's code.Other Linker Flags
(make sure "All" is selected to the left of the search box). Add -ObjC -all_load
.User headers search path
and add the full path to Goggle's /Source
directory. Make sure you select recursive
./Source/OAuth2/Touch
directory. Drag and drop GTMOAuth2ViewTouch.xib
into your project./Source
directory. Drag and drop GTLCommon_Sources.m
and GTLCommon_Networking.m
into your project./Source/Services/Drive/Generated
directory. Drag and drop GTLDrive.h
and GTLDrive_Sources.m
into your project. If you want to use other services, go to their directory and import the appropriate .h and .m file.GTLCommon_Sources.m
and GTLCommon_Networking.m
are there. Select them, press enter and type in -fno-objc-arc
. This will disable ARC for both of them. Make sure you don't add this option for any other file (unless you know what you're doing).GTMOAuth2ViewControllerTouch.h
and your service header. In my case, since I'm using Google Drive, I will also import GTLDrive.h
.I hope that helps and saves some people from pulling all their hair out.
I struggled with this error message as well. This is how I solved it:
Make sure you have added the folder for the service that you are using under GTLSource/Common/ (e.g., add the Drive folder for GoogleDrive).
Under GTL.xcodeproj (that you have already added to your workspace) find the GTLSource folder and drag it to your main project (Golf in your case). Done!
Now you can remove references to the GTL.xcodeproj that you have added to the workspace.
With this approach, you don't even need to add the libraries (so remove them from the list of linked libraries if you have added them).
The Google API documentation is nothing like Apple's documentation (it's not good).
I should also mention that I'm building an app for iOS and not MacOSX, but this should work for OSX as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With