A Notification Service Extension is one of the more capable extensions, and there's a lot that can be done within it (for example, it can invoke a Call Extension).
However its not possible to use a Contact Provider Extension within it.
If a CPE has been enabled by the main app, then if a push is sent to the NSE, then within the NSE the ContactProviderManager
class reports that the CPE is disabled and its not possible to anything with it. For example a call to ContactProviderManager.signalEnumerator()
will hang and not complete.
I was hoping to create a contact and make it available to the system on receipt of a push, but this isn't going to possible.
Is this intentional and by design, or just due to the immaturity of this feature/iOS beta?
The documentation of a Contact provider Extension says:
"signalEnumerator() An example of using this call is to handle a push notification to your app when the provided contacts from your server update"
It therefore seems strange that the main cited use case for ContactProviderManager.signalEnumerator() isn't actually possible if the push is delivered to an extension rather than the app.