iOS Charts 错误
Type ‘ChartDataSet‘ does not conform to protocol ‘RangeReplaceableCollection
解决办法:
方法一:
app 版本最低支持 iOS 12,升级 Charts
到 4.1.0版本,或者升级到 DGCharts
,库作者已经修复了这个bug
方法二:
使用pod install
注入代码
1、删除charts
pod库
2、在podfile里面添加
post_install do |installer|
### 修复 Charts 编译问题
find_and_replace("Pods/Charts/Source/Charts/Data/Implementations/Standard/ChartDataSet.swift","extension ChartDataSet: RangeReplaceableCollection {", "extension ChartDataSet: RangeReplaceableCollection { public func replaceSubrange<C>(_ subrange: Swift.Range<Int>, with newElements: C) where C : Collection, ChartDataEntry == C.Element { }")
end
def find_and_replace(dir, findstr, replacestr)
if ENV['Modify']
puts "find_and_replace"
Dir[dir].each do |name|
text = File.read(name)
replace = text.gsub(findstr,replacestr)
if text != replace
puts "Fix: " + name
File.open(name, "w") { |file| file.puts replace }
STDOUT.flush
end
end
Dir[dir + '*/'].each(&method(:find_and_replace))
else
puts "no replace"
end
end
3、使用Modify=1 pod install
,后续再继续用 pod install
4、这样就可以把 确实的代码注入进去了。