【发布时间】:2015-09-28 22:27:27
【问题描述】:
我在 UITextView 中添加了电话号码高亮显示。
self.textView.dataDetectorTypes = UIDataDetectorTypeAll;
如果我只是:
- 选择电话号码
- 按添加到联系人
- 创建新联系人
- 完成
一切都很好。但如果我取消添加并尝试退出此菜单,应用程序将崩溃。
- 选择电话号码
- 按添加到联系人
- 在 Popover 外按(自动返回)
- 再次按外部弹出框(崩溃)
所以...如果我取消在标准控件中添加的联系人,应用程序会崩溃。它在私有方法中崩溃(-[UITextView _finishHandlingInteraction:] UITextView_LinkInteraction.m:335)。
我试图找到有关这些方法的一些信息,或有关相同崩溃的一些信息。但这并没有帮助=(
iOS 8.4
崩溃日志:
-[MYCustomTextView _finishHandlingInteraction:] 中的断言失败,/SourceCache/UIKit/UIKit-3347.44/UITextView_LinkInteraction.m:335
* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“” * 首先抛出调用栈: (0x2ad85fef 0x39171c8b 0x2ad85ec5 0x2ba84f17 0x2eab9a4b 0x2e76f2b7 0x2e76f793 0x2e76f735 0x2e76f52d 0x2eac4115 0x2e55806b 0x2e4070f9 0x2e820f9b 0x2e3d0181 0x2e3ce05f 0x2e4054d9 0x2e404ddd 0x2e3dafe5 0x198f2f 0x2e6518fb 0x2e3d99f9 0x2ad4bfaf 0x2ad4b3bf 0x2ad49a25 0x2ac96201 0x2ac96013 0x32472201 0x2e43aa59 0x1afa6b 0x396fdaaf) libc++abi.dylib:以 NSException 类型的未捕获异常终止
对于 iOS 9(13A4293g) 斗鱼:
*** -[MYCustomTextView _finishHandlingInteraction:] 中的断言失败,/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3486.4/UITextView_LinkInteraction.m:342
* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“” * 首先抛出调用栈: (0x24d69153 0x3659ee0f 0x24d69029 0x25b4862d 0x297c1867 0x297c2397 0x29362041 0x2936267b 0x293625e3 0x29362315 0x297cf597 0x29408299 0x29454123 0x290dff13 0x28f77189 0x294538f3 0x28f39ecb 0x28f37ab1 0x28f75201 0x28f7494b 0x28f469b5 0x1679e3 0x28f4533d 0x24d2c81b 0x24d2c409 0x24d2a74b 0x24c7d229 0x24c7d015 0x2dd25bb9 0x28faca7d 0x17e523 0x36d07873) libc++abi.dylib:以 NSException 类型的未捕获异常终止
- 测试:
- iOS 7.1(iPad 模拟器)_ 不要崩溃
- iOS 8.4(iPad 模拟器)_崩溃
- iOS 8.3 (iPad 4) _ 崩溃
- iOS 8.3 (iPad mini) _ 崩溃
- iOS 8.4 (iPad mini 3) _ 崩溃
- iOS 9 斗鱼 (iPad mini) _ 崩溃
【问题讨论】:
-
您能否在按下添加到联系人时显示与处理相关的代码?
-
我试图找到相同的,但它是标准控制。如果将 UIDataDetectorTypeAll 设置为 UITextView。 Cocoa 会自动突出显示链接、电话和电子邮件。并自动显示您可以在屏幕截图中看到的弹出框。现在我受不了了=(
-
好的,我现在明白你的问题了。
标签: ios objective-c crash uitextview datadetectortypes