Closed shankari closed 8 years ago
I poked around the code a bit, and it looks like GTMSessionFetcher
is already supported for certain modes. Are there instructions on how to do include it and to check whether it is being used?
https://github.com/google/gtm-oauth2/blob/master/Source/GTMOAuth2Authentication.h#L25
#if (!TARGET_OS_IPHONE && defined(MAC_OS_X_VERSION_10_11) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_11) \
|| (TARGET_OS_IPHONE && defined(__IPHONE_9_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_9_0)
#ifndef GTM_USE_SESSION_FETCHER
#define GTM_USE_SESSION_FETCHER 1
#endif
#define GTMOAUTH2AUTHENTICATION_DEPRECATE_OLD_ENUMS 1
#endif
#if GTM_USE_SESSION_FETCHER
#import "GTMSessionFetcher.h"
#else
#import "GTMHTTPFetcher.h"
#endif // GTM_USE_SESSION_FETCHER
The defaults there should force anything using a current Xcode and SDKs to use the session fetcher by default. You can manually set GTM_USE_SESSION_FETCHER to 1 in your project to ensure this is true also.
I'm behind on a bunch of wiki updates for the projects, I'll keep trying to get the time to do updates. The short/hand waving version is use the sources from this project and the sources from the SessionFetcher project and if things compile/link you should be good to go. :)
Hm. I am using cordova, so I am not sure it is using the current SDKs. I'll use the "copy sources" installation method, put in some breakpoints and report back on the results.
Works like a charm with the current version of cordova (4.0.1).
Note that I included all the GTMOAuth2 code and the GTMSessionFetcher code as source by adding them to my project. I don't really like that option because GTMSessionFetcher has a lot of files - it would be better to add it as a framework or a static library.
But that's a packaging issue in a different library, not a code issue. I am fine with closing this issue, or you can keep it around in order to track the doc issue.
LMK if you want me to close instead.
Good to hear, I'll keep this open as a reminder to get back to docs.
Docs updated. Also documented the cocoapod which uses the SessionFetcher.
My projects are using GthhttpFetcher and NSURLConnection class is deprecated. Where can i download the GTMSessionFetcher files? Please point to me where i can download the files. One of project is using cocoapod too.
Thanks in advance.
https://github.com/google/gtm-session-fetcher is the project site for the GTMSessionFetcher
. It has a cocoapod.
Note: Since you posted on the gtm-oauth project; gtm-oauth2 has been deprecated - https://github.com/google/gtm-oauth2#warning-deprecation-notice
It's a big file, do i need to download the entire file as my App doesn't compatible for tvOS or watchOS, just iOS. thank you
See the docs on the project, you'll likely need a few files (i.e. - the whole dependency) as part of moving. Some may depend on what features you want to make use of.
Could you please tell me which enum value will be equivalent to kGTMHTTPFetcherErrorAuthenticationChallengeFailed = -2, from the GTMHTTPFetcher file
typedef NS_ENUM(NSInteger, GTMSessionFetcherError) { GTMSessionFetcherErrorDownloadFailed = -1, GTMSessionFetcherErrorUploadChunkUnavailable = -2, GTMSessionFetcherErrorBackgroundExpiration = -3, GTMSessionFetcherErrorBackgroundFetchFailed = -4, GTMSessionFetcherErrorInsecureRequest = -5, GTMSessionFetcherErrorTaskCreationFailed = -6, };
Is there any equal enum value for this kGTMHTTPFetcherErrorAuthenticationChallengeFailed = -2, from the GTMHTTPFetcher file in new GTMSessionFetcher file? Please let me know.
From the gtm-http-fetcher README: https://github.com/google/gtm-http-fetcher/
It also looks like
NSURLSession
explicitly supports background operation, which may fix issues around background authentication on iOS. https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSession_class/index.html