美文网首页
xcode12.5+ FBRetainCycle报错问题

xcode12.5+ FBRetainCycle报错问题

作者: 老包黑黑 | 来源:发表于2021-10-25 11:33 被阅读0次

    升级xcode12.5+版本以后,项目原有MLeaksFinder库中FBRetainCycleDetector文件报错

    具体为201行currentClass出现非NSCopying类型报错
    
    
        if (layoutCache && currentClass) {
    
            layoutCache[currentClass] = ivars;
    
        }
    
    

    具体修改为:

    
        if (layoutCache && currentClass) {
    
                layoutCache[(id<NSCopying>)currentClass] = ivars;
    
        }
    
    

    在cocoapod中文件添加以下内容

    target...end中添加:

    
    post_install do |installer|
    
        ## Fix for XCode 12.5
    
        find_and_replace("Pods/FBRetainCycleDetector/FBRetainCycleDetector/Layout/Classes/FBClassStrongLayout.mm",
    
          "layoutCache[currentClass] = ivars;", "layoutCache[(id<NSCopying>)currentClass] = ivars;")
    
    end
    
    

    target...end后添加:

    
    def find_and_replace(dir, findstr, replacestr)
    
      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))
    
    end
    
    

    最后pod install重新打开工程即可...

    参考FBRetainCycle官方解决方案

    相关文章

      网友评论

          本文标题:xcode12.5+ FBRetainCycle报错问题

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