当您构建项目时
pod 'Google/SignIn'
pod 'GooglePlayGames'
它得到错误。
Undefined symbols for architecture armv7: "_GTMMethodCheckMethodChecker", referenced from: +[NSDictionary(GTMNSDictionaryURLArgumentsAdditions) xxGTMMethodCheckMethodNSString32] in GTMNSDictionary+URLArguments.o +[NSDictionary(GTMNSDictionaryURLArgumentsAdditions) xxGTMMethodCheckMethodNSString33] in GTMNSDictionary+URLArguments.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
我上传了这个问题on the GTM's issue page和 PlayGameService's issue page , 似乎 GPG 目前没有维护。
GTM 的开发者 perotinus 说
GooglePlusOpenSource pod that it depends on. My guess is that the GooglePlusOpenSource pod has a precompiled version of GTM that doesn't have its symbols renamed, and the linker gets confused when it sees that in the set of libraries that it should use when trying to link the GTM pod.
有什么可能的想法来使用它吗?我不认为降级不是好的选择。
最佳答案
我在安装 pod Firebase/Auth 时遇到了同样的错误,我在 Firebase/Auth 上方安装了旧版本的 GoogleToolboxForMac,即 pod 'GoogleToolboxForMac'、'2.0.0'。之后,与 GoogleToolboxForMac 兼容版本的 firebase 开始安装。在你的podfile 删除 pod 'Google/SignIn' 和 pod 'GooglePlayGames'。将旧版 GoogleToolboxForMac 的 pod 粘贴到 pod 'Google/SignIn' 和 pod 'GooglePlayGames' 上方,然后重新安装。
pods “GoogleToolboxForMac”、“2.0.0”
pods “谷歌/登录”
pod 'GooglePlayGames'
关于ios - GPGS 架构的 undefined symbol : on Xcode 8. 0/Sierra 10.12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40391384/