使用Xcode 9.3集成Firebase iOS SDK时出现GTMSessionFetcher警告求助
嘿,我之前在维护旧项目的时候也碰到过一模一样的问题!结合Firebase社区的常见解决方案和自己踩过的坑,给你几个靠谱的办法来消除这些GTMSessionFetcher警告:
解决GTMSessionFetcher大量警告的方案
1. 锁定兼容的GTMSessionFetcher版本
Xcode 9.3对较新的GTMSessionFetcher版本兼容性不太友好,你可以手动指定一个适配旧Xcode的稳定版本:
- 如果你用CocoaPods,在
Podfile里添加一行指定版本的代码:
然后在终端执行pod 'GTMSessionFetcher', '~> 1.5.0'pod update GTMSessionFetcher,这个版本是社区验证过的、对Xcode 9.x支持较好的版本。 - 如果你用Carthage,在
Cartfile里修改为:
之后重新拉取依赖即可。github "google/gtm-session-fetcher" ~> 1.5.0
2. 针对性抑制警告(临时方案)
如果更新版本后还有残留警告,可以通过Xcode的设置针对性屏蔽:
- 选中你的项目Target,进入
Build Settings页面 - 搜索
Other Warning Flags - 添加以下参数(根据你实际看到的警告类型调整,这两个是最常见的):
注意:这个方法是临时屏蔽警告,优先推荐更新依赖版本的方案。-Wno-nullability-completeness -Wno-deprecated-declarations
3. 确认Firebase SDK的兼容性
Xcode 9.3属于比较老旧的版本,Firebase在6.x之后的版本逐渐停止对它的支持,你可以指定一个兼容的Firebase版本:
在Podfile里修改Firebase的依赖为:
pod 'Firebase/Core', '~> 6.34.0'
这个版本是最后一批支持Xcode 9和iOS 11.3的Firebase稳定版本之一。
4. 清理项目缓存
有时候旧缓存会导致奇怪的兼容性警告,试试这些步骤:
- CocoaPods用户:执行
pod deintegrate,然后再pod install - 清理Xcode构建缓存:点击菜单栏
Product->Clean Build Folder(快捷键Cmd+Shift+K) - 删除Derived Data:打开Xcode偏好设置(Cmd+,),进入
Locations,点击Derived Data路径旁的箭头,删除对应项目的文件夹
内容的提问来源于stack exchange,提问作者kirimi
相关产品推荐
相关产品推荐

