GKVoiceChat replacement?

So, GKVoiceChatService has been deprecated, as shown here:

https://developer.apple.com/documentation/gamekit/gkvoicechatservice


But it does not specify a replacement for it.


Was Voice Chat just dropped from iOS features, and never brought back?

Replies

Interesting. I hadn't seen the deprecation notice on that, but it makes sense because Voice Chat stopped working in iOS 10 and still doesn't work in iOS 11. It used to be amazing, but ever since iOS 6 it kept getting more and more buggy with each iOS release. At WWDC I'd ask the Game Center team about this and they acknowledged the problems, but blamed them on the Core Audio team, so nothing has ever gotten fixed.


In iOS 10 it completely broke, however. Sometimes it works fine for a little while but then suddenly the game will halt entirely or slow down to about 2 frames/sec before crashing. This would typically be triggered when the other player on the other end of the chat disconnected from the chat. But in iOS 11 it hangs and crashes pretty much immediately after voice chat starts.


-Brian

Does any one know if the plan on fixing this, or if there is another way to do voice chat?

Back when I worked at Apple in the 90's bugs like this would have never been allowed to happen. They wouldn't have let an OS update go out with a critical bug like this, but ever since Steve died it seems nobody really cares about bugs over there, so they just keep piling up and never get fixed. The years go by and with each iOS release Game Center becomes more and more unusable.


In the old days I would say "yes, they'll have it fixed with the next OS update", but these days I'm about 80% sure iOS 11 will ship with it still broken. Such a shame because Apple's Voice Chat implementation in iOS 4 and 5 was absolutely perfect - best voice chat the gaming business has ever seen. But things have gotten progressively worse since iOS 6, and Voice Chat completely broke in iOS 10.


-Brian

Well this is frustrating. Having used this before back in the iOS6 & 7 days I happily promised our client voice chat integration only to find that yes indeed, it's completely broken for iOS 10.


Do you guys know of any alternatives?

I'm unaware of any alternatives, and even if there were they wouldn't interface with a Game Center connection since all the critical information needed to setup a side-connection is hidden.


-Brian

No, it hasn't worked at all since iOS 9. Even prior to that it started to get buggy with iOS 7 and 8, but now in iOS 10 and 11 it is completely broken and doesn't work. If you look at the header files you'll see they've deprecated the voice chat calls in Game Center.


-Brian

For clarity, are you saying that GKVoiceChat is deprecated or that GKVoiceChatService is deprecated. I see nothing indicating that GKVoiceChat is deprecated.

The headers for GKvoiceChatService don't say it's deprecated, so who knows. The GKVoiceChat does say it, however.


-Brian

Actually, I take that back. The headers don't say it's deprecated, but the docs do.


According to Apple's docs this is also deprecated: https://developer.apple.com/documentation/gamekit/gkvoicechatservice



-Brian

Let me try to understand.


1) Clearly "GKVoiceChatService" is deprecated. We agree.

2) I cannot find any documents that indicate that "GKVoiceChat" is deprecated. Why do you believe that GKVoiceChat is deprecated? It is not marked deprecated in the documents here:

https://developer.apple.com/documentation/gamekit/gkvoicechat?language=objc

3) Are you having trouble with GKVoiceChatService or with GKVoiceChat?

Look in the header file.

I looked.

There are a few methods in GKVoiceChat that are listed as deprecated. But not all!! The header is consistent with the document as far as which methods and properties are deprecated and which are not.


Also, to answer your first question, GKVoiceChat replaces GKVoiceChatService. The GKVoiceChatService header file has the following:


NS_CLASS_DEPRECATED_IOS(3_0, 7_0, "Use GKVoiceChat instead")

Apple hasn't fixed the Voice Chat bugs since iOS 7, and it hasn't worked at all since iOS 10, so I think that alone makes it safe to say the entire thing has been deprecated. They care so little about Game Center that they haven't bothered updating the docs or headers to fully represent just how deprecated it is.


-Brian

There is some confusion about GKVoiceChatService and GKVoiceChat. Both are often referred to as Voice Chat. So to help communiacte, let's use the specific terms.


Can you absolutely confirm that GKVoiceChat is not working in your hands? Or are you saying that GKVoiceChatService is not working?