我在我的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>
当我在AppDelegate.swift
函数中调用
GGLContext.sharedInstance().configureWithError(&configureError)
在里面。它说
Use of unresolved identifier 'GGLContext'
感谢任何帮助。
答案 0 :(得分:29)
Google/*
个广告连播,您应该使用pod GoogleAnalytics
或pod GoogleSignIn
。您无法在这些广告连播中找到GGLContext
,因为它不再存在,因为它不再需要GoogleInfo-Service.plist
文件进行Google Analytics或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)
答案 1 :(得分:20)
在 Podfile.h中,
替换
pod 'GoogleSignIn'
与
pod 'Google/SignIn'
在 BridgingHeader.h 文件中添加以下两行:
#import <GoogleSignIn/GoogleSignIn.h>
#import <Google/Core.h>
在AppDelegate.swift内部,
替换
import GoogleSignIn
与
import Google
这适用于我的情况。
实际上,“Google / SignIn”广告连播具有Google使用GGLContext所需的依赖关系。使用pod'GoogleSignIn'
安装cocoapods时,这些不存在答案 2 :(得分:4)
Benjamin Jimenez的答案是正确的,而不是标记为“正确”的答案,因为它建议使用已弃用的库版本,而不是继续使用新版本并相应地更新项目: https://stackoverflow.com/a/46858690/3506788
该解决方案的一小部分内容:如果您使用Firebase,请确保在使用此行之前初始化Firebase:
GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID