The solution from Red Knapp got so many downvotes because of the very convoluted way the original cited author Ralph Johns - a veteran contributor to Apple Support Communities - usually wraps his suggestions in. I'd like to help by squeezing the juice of the Red Knapp's version re-cited from Ralph Johns based on my own experimentation trying to grasp Ralph Johns's thought process.
You need to follow these steps:
- On your iPhone go to Settings-Messages-Send and Receive.
- Scroll down to the section "Start conversations From". If your phone number is checked, and if you have other types of incoming and outcoming messages (usually, it's e-mail addresses) listed in the section uncheck the phone number and check any of those e-mail addresses. This is a temporary measure.
- Launch Messages on your Mac. Launch iOS Messages and try to send a message to yourself as a test. The message should appear in macOS Messages conversation list without any hiccups and warnings.
- In macOS Messages send a message to either yourself or another contact which is or isn't an iPhone user to test both iMessage and SMS delivery. If the message appears in iOS Messages on the fly without a loading bar stuck then both devices are perfectly in sync.
- Go back to the "Start conversations From" section of Settings-Messages-Send and Receive and put the checkmark back to your phone number.