从CocoaPods转Swift Package时GIDGoogleUser无authentication成员的修复方案
解决GIDGoogleUser无authentication成员的问题
你遇到的问题是因为Swift Package拉取了最新版Google Sign-In SDK(6.0+),这个版本对API做了重构,移除了旧版的authentication属性,导致旧代码报错。
修复步骤
直接替换获取令牌的逻辑:
- 原代码通过
user.authentication.idToken获取ID Token,新版改用user.idToken?.tokenString - 原代码通过
user.authentication.accessToken获取Access Token,新版改用user.accessToken.tokenString
修改后的代码片段
把你代码中这段:
guard let idToken = user.authentication.idToken, let accessToken = user.authentication.accessToken else { return }
替换为:
guard let idToken = user.idToken?.tokenString, let accessToken = user.accessToken.tokenString else { return }
补充说明
Google Sign-In 6.x版本除了令牌获取方式变更,还有其他API调整(比如GIDSignIn的初始化方式),但你当前代码里的GIDConfiguration已经是新版的用法,所以只需要修改令牌获取部分即可。
内容的提问来源于stack exchange,提问作者Tooth
相关产品推荐
相关产品推荐

