How to register an Airplay service on iOS 11?

I'm looking for a (working) snippet/example/tutorial how to register an Airplay service on iOS 11, so it shows up in the Control Center where all screen mirroring devices are listed (doesn't matter which tech - Swift, Objective-C, Xamarin - anything is welcome).

My problem:

I have a working app which registers an Airplay service manually, when mDNS is deactivated in your network and bluetooth discovery isn't available. It's working till iOS 10 but isn't on iOS 11, even though the registration command is called successfully. The device just won't show up in the list.

What I have tried so far:

  • My app is made with Xamarin and I'm using the DNSSD lib (commands "DNSServiceRegister" and "DNSServiceRegisterRecord" ). These commands still do their job without throwing any errors.
  • I also have tried using Swift (native XCode app) and it's NetService object:

    let nsVid = NetService(domain: "local", type: "_airplay._tcp", name: myHostname, port: Int32(myVideoport))
  • I also tried the same commands ("DNSServiceRegister" and "DNSServiceRegisterRecord" ) within a native XCode app using Objective-C

Nothing worked so far.

Idea?

When I activate Bluetooth discovery, the Airplay receiver is listed in the Control Center, hence assuming that maybe there is a way to copy this system functionality ... but that's just a thought and I haven't found anything that could help me here either.

Does anyone knows anything about this issue?

I’m going to follow up via the other thread you posted on.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
How to register an Airplay service on iOS 11?
 
 
Q