我正在运行iOS 9的iPod Touch上测试我的应用程序(在iOS 8.4上,它可以用于其他功能: FaceTime、复制到联系人等)。我有一个带有电话号码检测的文本视图,并收到以下错误:
警告:试图显示其视图不在窗口层次结构中的<_UIRotatingAlertController: 0x16250e00>!
/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3505.16/UITextView_LinkInteraction.m:377:,-UITextView startInteractionWithLinkAtPoint:中的断言失败
有什么办法解决这个问题吗?
发布于 2015-10-14 04:43:03
不是一个完美的解决方案,但非常简单,可能会帮助绝望的开发人员:
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange {
[[UIApplication sharedApplication] openURL:URL];
return NO;
}
你将失去副本,打开网址,取消弹出长按,但你至少应该能够打开网址一样,你会以前。在iOS 9中,这仍然会在你的应用程序中打开一个浏览器窗口来显示标准URL(这很好用)。
这看起来像是一个苹果的bug (已经发布在雷达上了)。
当我们尝试在模式视图中打开链接时,我们看到了非常类似的错误,因为Apple正在尝试显示新的模式警报视图。在模式视图之外,数据检测在iOS 9中对我们来说工作得很好。
发布于 2016-05-16 17:24:27
这看起来非常类似于我们最近不得不为PSPDFKit修复的一个bug,当rootViewController
已经在呈现另一个控制器时,呈现工作表不起作用。(您的rootViewController
是否可能未设置?)
你可以在这里阅读源代码。这可能会帮助您找出问题所在:
https://gist.github.com/steipete/b00fc02aa9f1c66c11d0f996b1ba1265
请复制rdar://26295020,这样这个问题有望在iOS 10中得到及时修复。(该错误从iOS 8开始就存在,并在iOS 8b5上首次报道)。
https://stackoverflow.com/questions/32653268
复制相似问题