google / google-api-objectivec-client

Google APIs Client Library for Objective-C
Apache License 2.0
301 stars 124 forks source link

Can't find GTL.xcodeproj, instead I find GTLCore.xcodeproj --> unable to finish integration #127

Closed blancaclapp closed 8 years ago

blancaclapp commented 8 years ago

It is not possible to finish to Google API integration due to inconsistencies between the tutorial and the real files found in project:

b- Using File > Add Files to "Quickstart"..., add the following projects to the workspace from the libraries you cloned in the previous step: google-api-objectivec-client/Source/GTL.xcodeproj --> There isn't any GTL.codeproj, there is GTLCore.xcodeproj instead.

This makes it impossible to reproduce the following steps in the tutorial:

d- Select the "GTL" project's "GTLTouchStaticLib" target and make the following changes: Add the library GTMSessionFetcher/libGTMSessionFetcherLib.a to Build Phases > Link Binary with Libraries. e- Delete the "GTL" project's "GTLFramework" target. f- In the Project navigator, delete GTL project's GTL Source > Common > HTTPFetcher group.

Thanks !

dipkasyap commented 8 years ago

This makes it impossible to reproduce the following steps in the tutorial: THIS MAKES IT IMPOSSIBLE TO REPRODUCE THE FOLLOWING STEPS IN THE TUTORIAL: tHiS MaKeS It iMpOsSiBlE To rEpRoDuCe tHe fOlLoWiNg sTePs iN ThE TuToRiAl:

shadibarhoumi commented 8 years ago

im having the same issue! any fixes?

gmrobbins commented 8 years ago

The GTL project is evolving, and unfortunately the API quickstarts have not been updated to reflect the changes.

GTLCore.xcodeproj is replacing GTL.xcodeproj

GTLTouchStaticLib is not part of the new project. App projects can directly compile the source umbrella files: GTLCommon_Sources.m GTLNetworking_Sources.m GTLOAuth2_Sources.m

dipkasyap commented 8 years ago

IS THERE ANY GOOGLEians ? OR WE HAVE TO GOOGLE THEM FOR ANSWER ON THIS ISSUE :(

thomasvl commented 8 years ago

pr0gramm3r8hai, as one of the other project owners stated; the GTL is currently evolving and some of the quickstarts are behind. They should get updated in time.

eytanschulman commented 8 years ago

While trying to integrate the library into my app to simply query the Calendar API for a list of events, I'm getting a host of errors about ARC because the classes don't support it. Is there not a branch that has ARC support? It's been around for like 4 years..

thomasvl commented 8 years ago

Apple has never said code has to use ARC, and it actually can slow down some code. You can turn off ARC on a per file bases or use a target without ARC enable to compile these sources: https://github.com/google/google-api-objectivec-client/wiki/BuildingTheLibrary#arc-compatibility

yvan commented 8 years ago

You should forget about that tutorial as it's old and doesn't work. (I know it looks all official).

You should use cocoapods with this pod. Delete all the old google stuff from your project.

https://cocoapods.org/pods/Google-API-Client

It should solve your issues.

If you don't know how to use cocoapods checkout https://guides.cocoapods.org/using/getting-started.html

madcurious commented 8 years ago

I got this to work by creating the GTLTouchStaticLib target myself in GTLCore.xcodeproj.

eytanschulman commented 8 years ago

@yvan After installing via Cocoapods, I get the error "GTMSessionFetcher.h file not found" through the import of GTMOAuth2Authentication.h

Any ideas?

EDIT: Fixed the problem because I had the Preprocessor Macro from doing the QuickStart "GTM_USE_SESSION_FETCHER" set to 1. Removing this fixes the error.

yvan commented 8 years ago

@mattquiros I messed around w/ that myself. Couldn't get it working right. I would strongly recommend using cocoapods instead. It installs the google code neatly and modularly in your project without having to do a 10 step guide in Baal knows how many sub menus on xcode.

@eytanschulman Glad you could get it working. For anyone else with the macro preprocessor issue see this stack post:

http://stackoverflow.com/questions/32822629/gtmsessionfetcher-h-file-not-found-upgrading-app-to-latest-google-api-objectivec

samratshaw commented 8 years ago

@yvan :+1:

Thanks a lot for the post! Though the tutorial really needs to be updated.

They can just post the Cocoapods link! :?

thomasvl commented 8 years ago

The wiki has been updated to also include the CocoaPod info.

fresh83 commented 8 years ago

This is ridiculous ....come on google

fresh83 commented 8 years ago

Guys you are probably costing the world economy $10's if not $100's of thousands of dollars by not updating this tut. How many thousands of developers have gone through your OFFICIAL TUT thinking there is no way GOOGLE would make such big mistakes in their instructions and/or leave a tut as important as this not updated for months" so they tediously go over each step of the tut over and over and over until they want to pull their hair out at a rate of $100 per hour hopefully until they do some research and stumble into this thread.....all bc you guys are too lazy to update your read me?

p.s even if the tut worked its obvious that whoever wrote it has become a victim of their own intelligence, forgetting along the way that just because you understand highly advanced ways of doing things , does not mean it is the best way to teach the public how to do things. It feels very much like the tuts creator wanted to 'wow' us with their deep understanding of X-Code instead of make a no nonsense easy to follow tut anyone from beginners to experts could follow along with without problems in a few mins.

You can also add $7 for a bottle of Excedrin you costed me tonight with your gross incompetence .

thomasvl commented 8 years ago

@fresh83 as mentioned in the other issues. If you've got specific, it would be useful to be able to help try to address things. Everything on this projects github pages is hopefully correct. There are cocoapods also for the developers that want that. If there are docs on other sites, pointers to those are needed so we can try to help get those updated (we won't always be able to directly edit them).

yvan commented 8 years ago

@fresh83 just a word of advice man, getting angry at people does not want to make them help you. programmers are often overworked and busy and go out of their way to invest time in things for others. keeping docs up to date is not easy or time-free. use the cocoapods solution if you have issues. it looks like you only spent a day or two on it, it's probably not the end of the world.

fresh83 commented 8 years ago

Why is it that the tech giants with the smartest people in the world have the most difficult to digest and integrate api's on the face of the planet(Google & FB specifically)?Yes I understand that you have alot more traffic and functionality to cover, but that's no excuse for whats going on here.

You say one or two days as if it should just be a expected or normal to have to spend 1-2 days ($1600+ in profit per freelancer eaten by Google ) just to get the api installed is normal. Its a API. It first and foremost feature should be expressing it and providing examples that allow developers to be up and running in a matter of seconds. Instead the impression I get from Google & FB's API's specifically is that you guys have a group of developers that are too smart for their own good and are using this very important repo as a showcase to show the world how much smarter and advanced they are by over complicating things. Making things more complicated is not impressive. This API should be as simple as "add the core GoogleAPI pod , add the specific pods you needs ( in my case calendar) and then from there everything is simplified down to init a session manager, have the user login and then from there make requests like this using the provided endpoints."

A truly impressive developer is one that has a deep enough understanding of their code that they can explain it in a way that everyone from a novice to a expert can understand. If my frustration makes you want to help me less because im speaking up about what 1000 other developers are passively thinking then I will gladly accept that as the cost of getting a point across. Your job is important, keeping things up to date, functional and simple is important.

On Fri, Apr 1, 2016 at 1:28 PM, Yvan Scher notifications@github.com wrote:

@fresh83 https://github.com/fresh83 just a word of advice man, getting angry at people does not want to make them help you. programmers are often overworked and busy and go out of their way to invest time in things for others. keeping docs up to date is not easy or time-free. use the cocoapods solution if you have issues. it looks like you only spent a day or two on it, it's probably not the end of the world.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/google/google-api-objectivec-client/issues/127#issuecomment-204479371

robobit commented 8 years ago

For what it's worth. I'm very happy to see that this project is active again. There has been quite some time of inactivity and I was considering dropping my usage of it and migrating to something else. So I'm very happy and grateful to those who have been putting their time in recently to get this project up-to-date again.

jermainehamilton802 commented 8 years ago

Jermainehamilton802@gmail.com

On Mon, Apr 4, 2016 at 6:36 AM -0700, "Willem de Jonge" notifications@github.com wrote:

For what it's worth. I'm very happy to see that this project is active again. There has been quite some time of inactivity and I was considering dropping my usage of it and migrating to something else. So I'm very happy and grateful to those who have been putting their time in recently to get this project up-to-date again.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub

dougbergh commented 8 years ago

Similar issue (I think - sorry, newbie) in the Apps Script and Drive iOS Quickstarts: GTL.framework does not link for iOS 9.3 because:

Undefined symbols for architecture arm64: "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from: -[GTMOAuth2SignIn stopReachabilityCheck] in GTL(GTMOAuth2SignIn.o) "_SCNetworkReachabilityCreateWithName", referenced from: -[GTMOAuth2SignIn startReachabilityCheck] in GTL(GTMOAuth2SignIn.o) "_SCNetworkReachabilitySetCallback", referenced from: -[GTMOAuth2SignIn startReachabilityCheck] in GTL(GTMOAuth2SignIn.o) -[GTMOAuth2SignIn stopReachabilityCheck] in GTL(GTMOAuth2SignIn.o) "_SCNetworkReachabilityScheduleWithRunLoop", referenced from: -[GTMOAuth2SignIn startReachabilityCheck] in GTL(GTMOAuth2SignIn.o) ld: symbol(s) not found for architecture arm64

I found that: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/SystemConfiguration.framework.tbd points to /System/Library/Frameworks/SystemConfiguration.framework, which (I'm guessing) is the one built for the Mac, not for iOS 9.3...

I have not solved my issue; will try CocoaPods as suggested here. Any other thoughts appreciated..

thomasvl commented 8 years ago

The reference in the framework can be because on the device that's where the path actually ends up at.

Just opening the Core project and building with the iOS Framework and Tests scheme is what is failing for you?

jermainehamilton802 commented 8 years ago

reply.