[似乎在iOS 10中修复!]因此以下内容仅适用于iOS 9 ...
我一直在试验Apple新的Contacts框架,我发现CNContactViewController的三种形式之一存在一个巨大的错误.它破坏了周围的界面,使你的应用变得无用; 用户卡住了.
为了使这个bug易于查看,我在https://github.com/mattneub/CNContactViewControllerBug上发布了一个示例项目.
要进行实验,请运行该项目并执行以下步骤:
点击按钮(未知人员).
如果请求,授予访问权
您将在我们的导航界面中显示部分联系人(请注意顶部的"返回"按钮).
点按添加到现有联系人.出现联系人选择器.
点按取消.实际上你从这里做什么并不重要,但点击取消是最简单的,也是达到错误的最快方法.
我们现在回到部分联系,但导航界面已经消失.用户无法从此界面中退出.该应用程序被软管.
只是为了澄清,以下是您需要采取的步骤的屏幕截图:
点按添加到现有联系人即可查看:
点按取消即可看到此内容; 观察它与第一个屏幕截图相同,但导航栏消失了:
我已经尝试了很多方法来解决这个bug,但似乎没办法.据我所知,此窗口由"进程外"框架呈现,不属于您的应用程序.你无法摆脱它.
那么问题是什么?我猜是这样的:任何人都可以告诉我一种方法来使这个视图控制器(在这种形式下)可用吗?有没有找到的解决方法?
编辑此错误出现在iOS 9.0中,仍然存在于iOS 9.1中.在评论中,@ ServgeSkopus报告说切换到已弃用的通讯簿框架没有帮助; bug在某处的底层结构中.