One of the biggest pain points in the modern smartphone industry is Apple’s refusal to treat non-iPhone messaging systems well. iMessage has long dominated U.S. iPhone users, leaving Android phone users to communicate with their fruit-carrying friends only through third-party services such as text messages or Whatsapp.
But thanks to some savvy folks, you can get iMessage on Android (and PC) as long as you have macOS installed. The service is called BlueBubbles, an open-source initiative that acts as a server on your Mac to intercept your iMessages and route them to connected client apps. Let’s take a look below!
Set up a macOS virtual machine
When you read that you need a Mac, your heart may sink like mine. That’s a problem for a lot of people because Macs don’t represent a significant part of the PC market — and they’re not cheap either. However, there are several options to consider.
The first and easiest way is that you buy a used Mac cheaply and run the BlueBubbles server on it. The second is more involved, but that’s what I ended up picking. It involves a macOS virtual machine.
I don’t hide the fact that I’m a computer junkie. I have a set of computers in my utility room that act as my servers, or a small home lab if you will. All my important services are running in virtual machines and Docker containers, like my web ad blocker, Jellyfin media server, website, etc.
But macOS has special requirements to function properly in a virtual environment, so I bought an old, used Xeon workstation PC on eBay for $30, and an upgraded CPU for $20. I followed these instructions from Nicholas Sherlock to install macOS Ventura in a virtual machine. There are many steps, but if you follow them exactly, it should work for you. It took me a while to configure the VM, but it turned out to be a lot easier than I thought. However, the actual macOS installation process adds a lot of time on top of the setup.
But after a successful boot, I went through the final configuration steps to make sure macOS was up and running, signed in with my Apple ID, and started installing BlueBubbles.
Install BlueBubbles Server
From here, I just follow BlueBubbles’ instructions, which are very clear and well documented – much to the satisfaction of my ex-tech writer. Visit the website, download the DMG file and install it.
Configuring the cloud based notification system took some time to complete as I needed to work through the Google Firebase console. That said, BlueBubbles walked me through the process from start to finish. I appreciate how simple the whole thing is.
My little question boils down to how I want to run the server publicly. I originally planned to use DDNS and port forwarding on my router to serve my messages away from the local network. But I ran into some configuration issues, so I chose the Cloudflare option. It’s still free and works well so far, even though manually typing long URL strings on PC is annoying.
Once the server was up and running, I simply installed the client app on my Pixel 5, scanned the QR code generated by the server, and I was good to go.