Take any bounded interval $I$. We want to show that $\sup_{t\in I}|\phi_n(t)-\phi(t)|\to 0$. Since this supremum does not decrease if we widen the interval $I$, it suffices to prove the claim for $I=[a,b]$.
Let us assume to the contrary that $s_n := \sup_{t\in [a,b]}|\phi_n(t)-\phi(t)|\not\to 0$. Then there is $\varepsilon>0$ and a subsequence $\phi_{n_k}$ such that $s_{n_k} > \varepsilon$ for all $k$. From definition of supremum, it follows that for each $k$, there is some $t_k\in [a,b]$ such that $|\phi_{n_k}(t_k) - \phi(t_k)| > \varepsilon$. Now $\{t_k\}_{k\ge 1}$ being a bounded sequence, must have a convergent subsequence, say $t_{k_m} \to x$.
To summarize, we have a sequence $\varphi_m := \phi_{n_{k_m}}$ of characteristic functions converging pointwise to a characteristic function $\phi$, and a sequence $x_m := t_{k_m}$ converging to a point $x$ such that $|\varphi_m(x_m)- \phi(x_m)| = |\phi_{n_{k_m}}(t_{k_m}) - \phi(t_{k_m})| > \varepsilon$ for every $m\ge 1$.
On the other hand, $\varphi_m\to \phi$ and $x_m\to x$ implies $\varphi_m(x_m)\to \phi(x)$ (see below for a proof).
Moreover, the continuity of $\phi$ tells us that $x_m\to x$ implies $\phi(x_m)\to \phi(x)$. Hence $\varphi_m(x_m) - \phi(x_m)\to 0$ as $m\to\infty$.
But this contradicts the fact that $|\varphi_m(x_m)-\phi(x_m)|>\varepsilon$ for every $m\ge 1$. This completes the proof.
Proof of the fact that $\varphi_m(x_m)\to \phi(x)$:
Suppose that $\varphi_m$ is the characteristic function of a random variable $Y_m$ and $\phi$ is the characteristic function of $Y$.
Invoking Levy's continuity theorem, $\varphi_m \to \phi$ implies that $Y_m \stackrel{d}{\rightarrow} Y$. Since $x_m \to x$, we can apply Slutsky's theorem to say that $x_m Y_m \stackrel{d}{\rightarrow} xY$. Appealing to Levy's continuity theorem once again, we can say that the characteristic function of $x_m Y_m$ evaluated at $ 1$ converges to the characteristic function of $xY$ evaluated at $ 1$, i.e., $$\varphi_m(x_m) = E\left(e^{ix_mY_m}\right)\to E\left(e^{ixY}\right)=\phi(x).$$