使用未解析的标识符'GGLContext'

Tha*_*tta 14 ios google-signin

我在我的ios Swift应用程序中集成了Google Sign-In.我在此处关注谷歌开发者页面上的官方说明(https://developers.google.com/identity/sign-in/ios/sign-in?ver=swift)

这是我的桥接标题:

#ifndef Header_h
#define Header_h


#endif /* Header_h */

#import <CommonCrypto/CommonCrypto.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <GoogleSignIn/GoogleSignIn.h>
Run Code Online (Sandbox Code Playgroud)

当我在我的AppDelegate.swift函数中调用该行时

    GGLContext.sharedInstance().configureWithError(&configureError)
Run Code Online (Sandbox Code Playgroud)

在里面.它说

 Use of unresolved identifier 'GGLContext'
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

Ben*_*nez 31

Google/*pods已弃用,您应该使用pod GoogleAnalyticspod GoogleSignIn替代.您无法GGLContext在这些广告连播中找到,因为它不再存在,因为它不再需要GoogleInfo-Service.plistAnalytics或SignIn文件.

对于SignIn,您应该使用先前在GoogleInfo-Service.plist文件中获取的clientID 进行初始化

GIDSignIn.sharedInstance().clientID = kClientID

或者如果您使用的是Firebase

GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID

对于Google Analytics,您应使用之前在GoogleInfo-Service.plist文件或分析面板中获取的trackerID进行初始化

let tracker = GAI.sharedInstance().tracker(withTrackingId: kTrackerID)

Google SignIn文档

Google Analytics文档


Sau*_*tia 21

Podfile.h中,

更换

pod 'GoogleSignIn' 
Run Code Online (Sandbox Code Playgroud)

pod 'Google/SignIn'
Run Code Online (Sandbox Code Playgroud)

BridgingHeader.h文件中添加以下两行:

#import <GoogleSignIn/GoogleSignIn.h>
#import <Google/Core.h>
Run Code Online (Sandbox Code Playgroud)

在AppDelegate.swift里面,

更换

import GoogleSignIn
Run Code Online (Sandbox Code Playgroud)

import Google
Run Code Online (Sandbox Code Playgroud)

这适用于我的情况.

实际上,"Google/SignIn"广告连播具有Google使用GGLContext所需的依赖关系.使用pod'GoogleSignIn'安装cocoapods时不存在这些

  • 令人难以置信的是,即使在今天,文档已经过时了.感谢:D (7认同)