  In this paper, we study the cyclicity of the shift operator $S$ acting on a
Banach space $\X$ of analytic functions on the open unit disc $\D$. We develop
a general framework where a method based on a corona theorem can be used to
show that if $f,g\in\X$ satisfy $|g(z)|\leq |f(z)|$, for every $z\in\D$, and if
$g$ is cyclic, then $f$ is cyclic. We also give sufficient conditions for
cyclicity in this context. This enable us to recapture some recent results
obtained in de Branges-Rovnayk spaces, in Besov--Dirichlet spaces and in
weighted Dirichlet type spaces.
