项目中在升级Xcode13的时候,遇到在debug模式下没问题,release模式下遇到如下错误
因为项目需要适配iOS10,并且项目没有使用到swiftui,所以就使用ruby脚本将报错相关代码移除掉
在Podfile
文件中添加以下钩子函数,然后运行pod install
platform :ios, '10.0'
use_modular_headers!
inhibit_all_warnings!
...
pre_install do |installer|
remove_swiftui()
end
def remove_swiftui
# 解决 xcode13 Release模式下SwiftUI报错问题
system("rm -rf ./Pods/Kingfisher/Sources/SwiftUI")
code_file = "./Pods/Kingfisher/Sources/General/KFOptionsSetter.swift"
code_text = File.read(code_file)
code_text.gsub!(/#if canImport\(SwiftUI\) \&\& canImport\(Combine\)(.|\n)+#endif/,'')
system("rm -rf " + code_file)
aFile = File.new(code_file, 'w+')
aFile.syswrite(code_text)
aFile.close()
end