谁知道从哪个版本的 GoogleSignInSDK(iOS) 中删除了 UIWebView 的用法,4.4.0 版本是否涵盖了这一点?
由于没有提及,关于此事,在官方Release Notes中,您可以使用this答案中的建议来确定哪个版本删除了对
UIWebView
的引用。
在项目目录中运行
grep -r UIWebView .
命令,将输出出现“UIWebView”字符串的文件,甚至是二进制文件。
我继续在一个空项目中安装了
GoogleSignIn
。看来4.4.0版本仍然使用UIWebView
。项目目录下grep -r UIWebView .
的结果是:
~ grep -r UIWebView . ./Pods/GoogleSignIn/CHANGELOG.md:- Supports sign-in via UIWebView rather than app switching to a browser, Binary file ./Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn matches
显然
GoogleSignIn.framework
内的二进制文件包含这样的引用。
但是从 5.0.0 版本开始,仅在
UIWebView
和 README.md
文件中引用了 CHANGELOG.md
:
~ grep -r UIWebView . ./Pods/AppAuth/README.md:for the auth request. `UIWebView` and `WKWebView` are explicitly *not* ./Pods/GoogleSignIn/CHANGELOG.md:- Supports sign-in via UIWebView rather than app switching to a browser,
因此,如果您想在 App Store 中上传新应用程序,您可能需要至少升级到版本 5.0.0。
上个月我遇到了这个问题。查了很多资料终于解决了这个问题,方法如下。
只需注释掉所有 pod 库并仅尝试使用此 pod 文件
pod 'GoogleSignIn'
然后采取
pod install
然后将此行粘贴到终端中
~ grep -r UIWebView .
注意:注意上面一行的最后一个字母中有一个点(.),并检查是否找到“UIWebView”。
如果没有找到“UIWebView”,那么这个 pod 文件就可以了。
再次解开一个pod文件并重复步骤1、步骤2和步骤3。需要一一对应,因为一个 pod 文件可能依赖于另一个 pod 文件。
如果您仔细遵循这些步骤,那么我希望“UIWebView”将从所有 pod 文件中删除。
现在我可以通过使用来修复 pod 'GoogleSignIn', '~> 6.0.2'
这条线救了我的命。 希望这有帮助。
https://github.com/googlesamples/google-signin-unity/pull/205#issuecomment-1370534648
//可以解决iOS上google登录失败的问题
// GoogleSignInSDK 不再使用 UIWebView。
PS。我在 2023 年使用 Unity 2021.3.25f1 :D