CNContactViewController can't be displayed modally

Originator:futuretap
Number:rdar://28472568 Date Originated:26-Sep-2016 03:03 PM
Status:Duplicate/27503741/Open Resolved:
Product:iOS SDK Product Version:10.0
Classification:Serious Bug Reproducible:Always
 
Summary:
There's no supported way to present a CNContactViewController modally. See below for details. 
A normal navigation push doesn't work either in our case (rdar://28433898) leaving us with no option to display CNContactViewController.

Note that the iOS Maps app does support showing a contact view controller in a modal presentation. So clearly it is possible as an SPI!


The following is a duplicate of rdar://22405997

Summary:
I cannot find a combination of model presentation or pushing to a UINavigationController that works for CNContactViewController and many common methods of presentation are not functional, leaving the user with an undismissable modal, or a view that allows edits but cannot be saved.

There are too many combinations to list them all here.  The attached projects demonstrates the following:

- pushing to a UINavigationController that is the root controller
- presenting the CNContactViewController directly with presentViewController
- presenting a UINavigationController with CNContactViewController as it's root using presentViewController

These are demonstrated for both "forNewContact" and "forUnknownContact" modes for the CNContactViewController.

In all cases, the resulting CNContactViewController is unusable, either because it cannot be dismissed, or cannot have changes saved, due to lack of appropriate buttons in the resulting navigation bars.

These bugs are present in iOS 9b5.

Steps to Reproduce:
Open attached project, tap buttons provided to demonstrate states.

Expected Results:
The resulting presented CNContactViewControllers should, well, be useable.  If there are only specific contexts in which CNContactViewController should be presented and used, these state should be documented.

Actual Results:
Varies, but in all cases the user is stuck per descriptions above.

Version:
iOS 9b5

Notes:


Configuration:
Any

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!