iMessages on macOS only shows numbers, not Contact name
Hi,
This is a similar problem discussed on Re: iMessage not showing contact names, iMessages not showing Contact name, Messages only showing phone numbers not names
The basic issue is that iMessage on macOS only shows the iPhone number and not the Contact name, also you cannot send iMessages to local iMessage enabled iPhone numbers in your Contacts that do not contain the international country code pre-fix.
I have this problem ever since upgrading from OS X Yosemite on both Mavericks and Sierra while the same Apple ID/iMessage account works fine on iOS>
After troubleshooting this issue with Apple Support and iCloud engineering for several months, I discovered the underlying issue with Apple ID and the macOS Messages app. This is not a fix, just an explanation with no practical work around. It is up to Apple to ultimately address this issue. Nevertheless I hope the information will be useful to others troubleshooting the same problem.
The underlying cause is that macOS Messages app only automatically processes and formats local iPhone numbers based on the iMessage region setting that was removed in OS X El Capitan and macOS Sierra. The region setting still exists in the macOS FaceTime app and on iOS FaceTime/iMessage preferences. Currently there is no way to change your iMessage region setting if you go to a different county.
This problem can occur under the following conditions:
1) You live in a different country than the credit card issue country attached to your Apple ID/iTunes account.
2) You have moved to a different country than the macOS iMessage region setting you had set in Yosemite and you have never signed out iCloud, iMessages or FaceTime on that same Mac after upgrading to Mavericks and/or Sierra.
Details
The iMessage region preference flag continues working on the same Mac device even after upgrading from Yosemite to El Capitan and Sierra as long as the user never signs out of iCloud, iMessages or FaceTime.
However If the user signs out of these services after upgrading from Yosemite, the macOS iMessages region defaults to the country setting of the Apple ID/iTunes account credit card and cannot be overridden on the local Mac. This causes the iMessages Contact name problem if you live in a different country than your Apple ID/iTunes account country setting.
For example I live in Japan most of the time but my Apple ID/iTunes account is set to the USA with a USA issued credit card attached to the account. In this case the macOS Messages app cannot format or send to local Japanese iMessage enabled iPhone numbers and will not match or group numbers with contacts. Everything works fine on iOS Messages side for the same Apple ID because the iMessages region setting can be set to Japan.
The only option for macOS iMessage users not residing in the same country as their Apple ID/iTunes account credit card & country setting is to change the iTunes account credit card and country setting matched with a locally issued credit card. The iTunes account credit card validation process seems to be what actually sets the Apple ID account country. Switching the country however invalidates all iTunes content purchased with the previous country issued credit card.
The easiest thing would be for Apple to restore the region setting to the macOS Messages app, similar to what has always existed in the macOS FaceTime app. Until Apple does that, or comes up with another solution, there is no work around for this issue.
MacBook Pro with Retina display, macOS Sierra (10.12.3)