FBRetainCycleDetector错误 Cannot i

2022-05-24  本文已影响0人  viihua

 加入以下到Podfile

第一部分:(指定替换文件路径及替换文本)

post_installdo|installer|

 find_and_replace("Pods/FBRetainCycleDetector/FBRetainCycleDetector/Layout/Classes/FBClassStrongLayout.mm","layoutCache[currentClass] = ivars;", "layoutCache[(id)currentClass] = ivars;")

end

第二部分:定义替换方法find_and_replace供第一部分调用(很多教程里报错是因为少了 FileUtils.chmod("+w", name)  这一行获取权限)

def find_and_replace(dir, findstr, replacestr)

  Dir[dir].eachdo|name|

      FileUtils.chmod("+w", name) #add

      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))

end

PS:其实这个方法可以用于任何Pod库的注入替换修改,比如HandyJSON在iOS15上Number类型转String会丢失精度的问题,而修改只需要修改BuiltInBasicType.swift中formatter.maximumFractionDigits = 16这一行,该小一点比如10就可以。适用于这种一两行的替换

上一篇下一篇

猜你喜欢

热点阅读