Google SignIn for iOS无法构建,因为它正在寻找不存在的文件
谷歌刚刚将他们的ios登录库更新到3.0.0版 。 在这个过程中,看起来它们也导致库无法构建错误ld: file not found: MY_APP_PATH/Pods/GoogleUtilities/Libraries/libGTM_NSData+zlib.a
我该怎么做才能解决这个问题? 我正在使用Cocoapods。
我大多提出这个问题,以便有一个关于如何解决这个问题的google-able答案。
就像我在上面的问题中所述,问题是由2016年3月22日的谷歌iOS库v3.0.0更新引起的。
我认为导致我的构建错误
考虑到围绕Cocoapods生态系统架构的性能问题, Google Signin Podspec v3.0.0 (我实际上并不建议您遵循该链接)将库GoogleUtilities
列为依赖项。
"dependencies": { "GoogleUtilities": [ "~> 1.0" ],
GoogleUtilities
Podspec v1.2.0使导入它的人可以使用这些文件:
"vendored_libraries": [ "Libraries/libGTM_iPhone_external.a", "Libraries/libGTM_core_external.a", "Libraries/libGTM_UIFont+LineHeight_external.a", "Libraries/libGTM_SystemVersion_external.a", "Libraries/libGTM_StringEncoding_external.a", "Libraries/libGTM_RoundedRectPath_external.a", "Libraries/libGTM_Regex_external.a", "Libraries/libGTM_NSStringXML_external.a", "Libraries/libGTM_NSStringHTML_external.a", "Libraries/libGTM_NSScannerJSON_external.a", "Libraries/libGTM_NSDictionary+URLArguments_external.a", "Libraries/libGTM_NSData+zlib_external.a", "Libraries/libGTM_KVO_external.a", "Libraries/libGTM_GTMURLBuilder_external.a", "Libraries/libGTM_DebugUtils_external.a", "Libraries/libGTM_AddressBook_external.a", "Libraries/libGTMStackTrace_external.a" ],
请注意, GoogleUtilities
不会使libGTM_NSData+zlib
可用。 以前版本的GoogleUtilityies
可能确实提供了该文件,但由于上述性能问题,我无法通过查看podspec的先前版本来确认这一点。
我是如何修复构建错误的
我通过将我的GoogleSignIn依赖关系回滚到先前版本2.4.0
来修复了构建错误。
为此,请打开Podfile并替换
pod 'Google/SignIn'
同
pod 'GoogleSignIn', '2.4.0'
在项目范围内进行搜索和替换,用
替换
。
不幸的是,GoogleSignIn 3.0.0版本需要更新版本的某些依赖项 – 运行pod install
不会提取它们,因为它们仍然满足Podspec中的匹配。
你能尝试运行pod update
– 它应该获取所有库的最新版本。
我发现只需在应用程序的GoogleUtilities
中指定以前版本的GoogleUtilities
,或者使用Google SignIn进行依赖。
像'GoogleUtilities', '1.2.0'
修正了我遇到的问题。