美文网首页
FBRetainCycleDetector错误 Cannot i

FBRetainCycleDetector错误 Cannot i

作者: viihua | 来源:发表于2022-05-24 20:41 被阅读0次

     加入以下到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就可以。适用于这种一两行的替换

    相关文章

      网友评论

          本文标题:FBRetainCycleDetector错误 Cannot i

          本文链接:https://www.haomeiwen.com/subject/eqlsprtx.html