FBRetainCycleDetector错误 Cannot initialize a parameter of type 'id<NSCopying> _Nonnull'

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容