So, the problem is that the app itself can't run (reliably) in the background to respond to key-exchange requests?
It looks like iOS apps aren't allowed network connections when in the background[0]. So would another platform with fewer restrictions on background processes (e.g. Android?) be able to perform key-exchange while the app is backgrounded?
(forgot the link:)
[0]: https://developer.apple.com/library/ios/documentation/iPhone...