Search code examples
cocoapods

What's the difference between 'pod spec lint' and 'pod lib lint'?


Cocoapods provides two lint commands, spec lint and lib lint. What's the exact different between them, and in what scenario are they each used?

I read the documentation (spec, lib), but I can not find the difference between them, and I do not understand why Cocoapods provides two command for the same thing.


Solution

  • TL;DR: pod lib lint = local, pod spec lint = local/remote


    You mentioned that you had read the docs but it's still unclear. I'll try to make it more clear :

    pod lib lint

    It will lint your pod locally, and will just assume that you provided everything properly to create your pod (it won't make any attempts to fetch/download its dependencies). But it will not be enough to validate your pod, Only pod spec lint will.

    pod spec lint

    It will lint your pod anywhere. You can have your pod source code on GitHub. The lint command would just work. If the pod spec lint returns without errors, you can push the linted pod up to Cocoapods.