Expected behavior after device restart?

What is the expected behavior when a user restarts their device without leaving a channel? I am testing this use case with my application and the system UI seems to be in a strange state.

After the restart, the system PTT UI uses the name of my application for the channel title and instead of an icon, it uses the initials from my application name as the icon. It does not request a PTChannelDescriptor from my application.

It appears that my application is not being called at all if I open the system PTT UI and try to send audio. Is this a known issue that I'm not handling properly or is this a bug with PTT?

Replies

If a user is joined to a PushToTalk channel when a device is restarted, the channel will be restored after the restart is complete. This allows the user access the PushToTalk system UI and for your app to receive relevant PushToTalk APNs notifications. The behavior you described can occur if you are not initializing a PTChannelManager and retaining a reference to the manager and its delegates when your app is launched by the system.

Make sure you initialize a PTChannelManager as soon as possible before exiting your UIApplicationDelegate's application(_:didFinishLaunchingWithOptions:) method. The PushToTalk framework will then call the channelDescriptor(restoredChannelUUID:) method on your PTChannelRestorationDelegate in order to re-populate the PushToTalk system UI.

You must also retain a reference to the PTChannelManager, PTChannelManagerDelegate, and the PTChannelRestorationDelegate in memory within your app so that the system can call the delegate methods when needed.