如何修复Xcode 9.2中第三方库的In file included from警告?
Xcode 9.2升级后第三方库警告的解决办法
嘿,我刚帮好几个开发者搞定过Xcode 9.2升级后第三方库报这类警告的问题,给你几个实用的方案:
方案一:一键忽略所有第三方库的警告(最省心)
既然多个第三方库都出现警告,不想一个个处理的话,可以直接在你的Podfile里添加这段配置,让CocoaPods帮你屏蔽所有Pods的警告:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # 开启全量警告屏蔽 config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = 'YES' # 如果只想屏蔽特定类型的警告(比如你截图里的隐式转换类),可以替换成下面这句 # config.build_settings['WARNING_CFLAGS'] = '-Wno-implicit-int-conversion -Wno-implicit-function-declaration' end end end添加完后执行
pod install,重新编译项目,警告就会消失啦。方案二:更新第三方库到最新版本
很多第三方库的维护者会跟进Xcode的版本更新,修复这类兼容性警告。你可以试试执行pod update [库名](比如pod update FDStackView),把有警告的库更新到最新版,大概率能解决问题。如果是多个库,直接pod update更新所有Pods也行。方案三:手动修改第三方库代码(不推荐)
如果某个库没有新版本,又必须解决警告,那只能手动修改它的源码了。找到警告对应的代码行,比如隐式类型转换的问题,手动添加显式转换(比如把int转成NSInteger)。但要注意,每次执行pod install都会覆盖你的修改,所以最好fork这个库到自己的代码仓库,修改后在Podfile里指向你的fork地址,这样才能长久生效。
内容的提问来源于stack exchange,提问作者weqeo
相关产品推荐
相关产品推荐

