本文介绍: 就会出现undefined methodtargets’ for nil:NilClass`的提示提示targets找不到了。看到这个警告一般会在Podfile的最底部添加以下代码:会报错。但是在新版本cocoapods使用了新特性。老项目删除pods文件夹执行

【Cocoapods】遇到 undefined method `targets’ for nil:nilclass问题

报错信息[!] an error occurred while processing the postinstall hook of the podfile.
undefined method `targets’ for nil:nilclass

看到这个警告一般会在Podfile的最底部添加以下代码:会报错

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '8.0'
        end
    end
end

[!] an error occurred while processing the postinstall hook of the podfile.
undefined method `targets’ for nil:nilclass*

但是在新版本cocoapods使用了新特性 install! 'cocoapods', :generate_multiple_pod_projects => true, :incremental_installation => true来加快编译的速度。

就会出现undefined methodtargets’ for nil:NilClass`的提示提示targets找不到了。所以要使用新的方式,如下:

post_install do |installer|
  installer.pod_target_subprojects.flat_map { |p| p.targets }.each do |t|
    t.build_configurations.each do |c|
      c.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
    end
  end
end

项目删除pods文件夹,执行 pod install --verbose 就好了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注