AirPlay on Apple TV works for iOS devices but not for Macs
I am trying to use AirPlay mirroring in a conference room-style setup using a 3rd-generation Apple TV. All software is fully-updated (as of 7/24/2014).
All devices are connected to a strong network without any password.
From an iPhone 4s, the AirPlay service shows up in control center, and mirroring works fine. From an Early 2014 MacBook Air, AirPlay never becomes available in the menu bar or in Display preferences, OR in regular iTunes.
What should I do to try to troubleshoot this?
EDIT:
I had been wondering if there was a subnet issue of some kind, but it appears not. For illustrative purposes, the Apple TV is 10.10.17.217. Two iOS devices can AirPlay to it from .18.8 and .18.196, but the MacBook Air cannot from .20.127. All have the same subnet mask of 255.255.240.0, and are pointed at the same router (.16.1).
I suppose I still need to try with other AirPlay endpoints and with other MacBooks, but I've really got nothing to go on beyond guess and check.
Aaaand I just checked with an iMac connected to the same network, .17.118. Nothing.
...
OKAY HOLD ON A SECOND.
I did a teeny bit of Googling and found some references to Bluetooth being added as a substitute/supplement for Bonjour discovery of AirPlay in a recent update. On the hunch that iOS devices are a bit more promiscuous with Bluetooth than the Macs would be, I tried testing the iOS devices with Bluetooth turned off. Here's the thing: once you're connected, you can turn off Bluetooth, but if Bluetooth is not turned on, you will not be able to see the AirPlay endpoint.
I noticed there was a Bluetooth setting in the Apple TV as well, and saw that it was just on and searching. Upon turning it off, the AirPlay option immediately disappeared from the iOS devices. Back on, and the option reappeared. Still nothing from the Macs.
The Apple TV is running software version 6.2 (6698.99.50.31).
What the hell is going on here?
Solution 1:
First thing I'd check is whether the firewall is enabled on your Macbook and blocking incoming packets. If the firewall is on, try turning it off temporarily for a few minutes to see if the AirPlay icon appears in the menubar.
Next thing to check is whether the devices are on the same subnet. You can find the IP address and subnet mask of your Apple TV in Settings -> General -> Network
. And the IP address and subnet mask of your Macbook in System Preferences -> Network -> Wi-Fi -> Advanced... -> TCP/IP
. Ideally what you should expect to see is the same subnet mask on both devices (likely something like 255.255.255.0) and IP addresses that are similar except for the number after the last dot (something like 192.168.0.125 and 192.168.0.138).
Those are the two things I'd check first. Check those and let us know how you get on.
Apple have a guide to trouble-shooting AirPlay problems for Macs. There are a few other things that might help too: About AirPlay Mirroring in OS X
Solution 2:
What's happening is that since Apple TV OS 6.1 and iOS 7.1, iPhones and iPads have supported Bluetooth discovery of Airplay services for Apple TVs.
What this means is that even without doing any pairing, the Bluetooth does a "handshake" between the iPhone/iPad and the Apple TV that exchanges discovery information. This means that even if you're not on the same network, you can "see" the Apple TV. Note that the Airplay itself doesn't take place over Bluetooth... that still happens over Wi-Fi/Ethernet. The Bluetooth "handshake" just tells the client device the IP address of the Wi-Fi or Ethernet interface of the Apple TV that the client can find the service on.
This is immensely useful in enterprise type environments where these things tend to be on different VLANs, because the Bonjour protocol that normally serves this purpose is a broadcast protocol that doesn't cross network boundaries without help from a Bonjour relay service like Avahi.
Unfortunately, this Bluetooth Discovery feature has not been available for Macs, which is why your iPhone/iPad can see the Apple TV and your Mac cannot. Fortunately, with the latest beta release of Apple's Yosemite OS, this appears to be working now (Hooray!)
It also appears that Apple is implementing a peer-to-peer Airplay system in iOS 8 that doesn't rely on corporate networks at all.
Hope this was clear and helpful, Drax