随笔 - 91,  文章 - 0,  评论 - 4,  阅读 - 13万

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、这样就可以把 确实的代码注入进去了。

posted on   xiao孛  阅读(663)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示