CNContactViewController forUnknownContact inutilizável, destrói a interface
[Parece ser corrigido no iOS 10!] Portanto, o que se segue se aplica apenas ao iOS 9 ...
Eu tenho experimentado a nova estrutura de contatos da Apple e encontrei um bug enorme em uma das três formas do CNContactViewController. Destrói a interface ao redor para que seu aplicativo se torne inútil; o usuário está preso.
Para facilitar a visualização desse bug, publiquei um projeto de exemplo emhttps://github.com/mattneub/CNContactViewControllerBug.
Para experimentar, execute o projeto e execute as seguintes etapas:
Toque no botão (Pessoa desconhecida).
Conceda acesso, se solicitado.
O contato parcial é exibido em nossa interface de navegação (observe o botão Voltar na parte superior).
Toque em Adicionar ao contato existente. O seletor de contatos é exibido.
Toque em Cancelar. Na verdade, não importa o que você faz daqui, mas tocar em Cancelar é mais simples e é a maneira mais rápida de alcançar o erro.
Agora estamos de volta ao contato parcial, mas a interface de navegação se foi. O usuário não tem como escapar dessa interface.O aplicativo é mangueira.
Apenas para esclarecer, aqui estão as capturas de tela das etapas que você precisa executar:
Toque em Adicionar ao contato existente para ver isso:
Toque em Cancelar para ver isso; observe que é o mesmo que a primeira captura de tela,mas a barra de navegação se foi:
Eu tentei várias maneiras de solucionar esse bug, mas parece não haver maneira. Pelo que sei, essa janela está sendo apresentada pela estrutura "fora de processo" e não faz parte do seu aplicativo. Você não pode se livrar disso.
Então qual é a questão? Eu acho que é isso: alguém pode me mostrar uma maneira de tornar esse controlador de exibição (neste formulário) utilizável? Existe uma solução alternativa que não encontrei?
EDITAR Este bug apareceu no iOS 9.0 e ainda está presente no iOS 9.1. Em um comentário, o @SergeySkopus relata que mudar para a estrutura obsoleta do Catálogo de Endereços não ajuda; o bug está na estrutura subjacente em algum lugar.