我在我的iOS应用程序中实现了对Google的访问。自2014年年中以来,这一直是应用程序的一个活跃功能,并在iOS 6、7和8下正常工作。我目前正在检查我的项目是否与iOS 9兼容。
我下载了最新的google-api-objectivec-client,以确保我的项目保持最新。
我重新做了谷歌的标准实现..。如此页中所详细介绍的,并包括在本文结尾部分的完整性。
问题:当我试图在任何版本中构建时,都会收到错误"**GTMSessionFetcher.h** 文件未找到“.
我确信我已经按照下面/在Google网页上的步骤正确地实现了API。
我已经查看了我的代码的旧版本,但不幸的是,我没有备份Google,所以很难判断什么已经改变了。
它似乎源于这个..。在GTMOAuth2Authentication.h..。
#if GTM_USE_SESSION_FETCHER
  #import "GTMSessionFetcher.h"
#else
  #import "GTMHTTPFetcher.h"
#endif  // GTM_USE_SESSION_FETCHER我不明白GTM_USE_SESSION_FETCHER是如何设置的,为什么在这种情况下是正确的。
任何建议都非常感谢。
iOS的Google实现
注意:步骤1和步骤2完成,没有问题。
第三步:准备项目
GTL.xcodeproj从客户端库下载文件夹的Source目录拖动到XCode项目中,添加客户端库。Link Binary with Libraries列表以包括:libGTLTouchStaticLib.a。Security.framework和SystemConfiguration.framework.
-ObjC -all_load添加到链接>其他链接标记设置中。编辑这些字段的一个好方法是单击字段名一次来选择它,然后单击Enter输入设置。
GTMOAuth2ViewTouch.xib从客户端库的Source/OAuth2/Touch文件夹拖到应用程序的Supporting Files文件夹中。GTLDrive.h和GTLDrive_Sources.m从客户端库的Source/Services/Drive/Generated文件夹直接拖动到应用程序项目中,添加Drive服务。发布于 2015-10-02 12:25:24
首先感谢里韦罗为我指明了正确的方向.
建筑为iOS 6,7,8和9.
黑了下面的..。
步骤1
在GTMOAuth2Authentication.h (OAuth目录)和GTLService.h (对象目录)中
找到这个代码块..。
#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
#endif..。和改变
#define GTM_USE_SESSION_FETCHER 1..。至
#define GTM_USE_SESSION_FETCHER 0步骤2
在GTMGatherInputStream.m (HTTPFetcher目录)中
..。变化
return [[[self alloc] initWithArray:dataArray] autorelease];..。至
return [[(GTMGatherInputStream*)[self alloc] initWithArray:dataArray] autorelease];步骤3
在GTMHTTPFetcherLogging.m (HTTPFetcher目录)中
..。变化
NSString *escapedResponseFile = [responseDataFileName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];..。至
NSString *escapedResponseFile = [responseDataFileName stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];步骤4
在GTL项目设置中,在AppleLVM7.0警告下-所有语言
..。变化
弃用函数=是
..。至
弃用函数= NO
发布于 2015-10-08 19:30:29
@andrewbuilder的解决方案有效。
如果您的目标是IOS 8,只需更改
#define GTM_USE_SESSION_FETCHER 1至
#define GTM_USE_SESSION_FETCHER 0在GTMOAuth2Authentication.h和GTLService.h文件中。
如果您的目标是IOS 9,则需要将GTMHTTPFetcher文件替换为GTMSessionFetcher文件(https://code.google.com/p/gtm-session-fetcher/)。
参考资料:https://github.com/google/google-api-objectivec-client/issues/88
发布于 2016-12-26 16:08:26
使用JSON的Google客户端库已被REST取代(尚未发布结束日期)。

用所有的依赖项来提取新的库对我来说都是有效的,而且从来没有黑客攻击过我。
https://github.com/google/google-api-objectivec-client
git clone --recursive https://github.com/google/google-api-objectivec-client-for-rest.githttps://stackoverflow.com/questions/32822629
复制相似问题