Uitextview 检测电话号码为IOS 9的TextView出错

Uitextview 检测电话号码为IOS 9的TextView出错,uitextview,Uitextview,我正在运行iOS 9的iPodtouch上测试我的应用程序(在iOS 8.4上,它可以实现其他功能:FaceTime、复制到联系人等)。我有一个带有电话号码检测的textview,我收到以下错误: 警告:尝试显示其视图不在窗口层次结构中的对象 在-[UITextView StartEnterActionWithLinkAtPoint:]、/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3505.16/UITextView_L

我正在运行iOS 9的iPodtouch上测试我的应用程序(在iOS 8.4上,它可以实现其他功能:FaceTime、复制到联系人等)。我有一个带有电话号码检测的textview,我收到以下错误:

警告:尝试显示其视图不在窗口层次结构中的对象

在-[UITextView StartEnterActionWithLinkAtPoint:]、/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3505.16/UITextView_LinkInteraction.m:377中断言失败


对此有任何修复吗?

不是一个完美的解决方案,但非常简单,可能会帮助绝望的开发人员:

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange {
    [[UIApplication sharedApplication] openURL:URL];

    return NO;
}
长按时,您将丢失副本、打开URL、取消弹出窗口,但您至少可以像以前一样打开URL。在iOS 9中,这仍然会在应用程序中打开一个浏览器窗口,显示标准URL(这很好)

这似乎是一个苹果病毒(已经发布到雷达上了)


我们在尝试在模式视图中打开链接时看到了非常类似的错误,因为苹果正在尝试显示一个新的模式警报视图。在iOS 9中,模式视图之外的数据检测对我们来说效果很好。

这看起来非常类似于我们最近不得不修复的一个错误,当
rootViewController
已经呈现另一个控制器时,呈现工作表不起作用。(您的
rootViewController
是否可能未设置?)

您可以在这里阅读源代码。这可能有助于您找出问题所在:


请复制,以便在iOS 10中及时修复。(该漏洞自iOS 8开始存在,并在iOS 8b5上首次报告。)

我刚刚注意到UITextView中的web链接也发生了同样的情况。同样运行iOS 9。我也有这个问题。在UITextView中可能是一个bug。检查开发论坛。你有什么解决方案吗。