- ios/
- Ios 当我取消在popover中添加联系人时,UItextView崩溃
Ios 当我取消在popover中添加联系人时,UItextView崩溃
Ios 当我取消在popover中添加联系人时,UItextView崩溃,ios,objective-c,crash,uitextview,datadetectortypes,Ios,Objective C,Crash,Uitextview,Datadetectortypes,我已将电话号码突出显示添加到我的UITextView
self.textView.dataDetectorTypes = UIDataDetectorTypeAll;
如果我只是:
选择电话号码
按add可添加联系人
创建新联系人
完成
一切都很好。但若我取消添加并尝试退出此菜单,应用程序将崩溃
选择电话号码
按add可添加联系人
按下外部弹出按钮(自动返回)
再次按下外部弹出按钮(崩溃)
所以。。。如果我取消在standart控件中添加联系人,应用程序将崩溃。它在私有方法([UIT
我已将电话号码突出显示添加到我的UITextView
self.textView.dataDetectorTypes = UIDataDetectorTypeAll;
如果我只是:
- 选择电话号码
- 按add可添加联系人
- 创建新联系人
- 完成
一切都很好。但若我取消添加并尝试退出此菜单,应用程序将崩溃
- 选择电话号码
- 按add可添加联系人
- 按下外部弹出按钮(自动返回)
- 再次按下外部弹出按钮(崩溃)
所以。。。如果我取消在standart控件中添加联系人,应用程序将崩溃。它在私有方法([UITextView\u finishHandlingInteraction:]UITextView\u LinkInteraction.m:335)中崩溃
我试图找到一些关于这些方法的信息,或者一些关于相同崩溃的信息。但这没用=(
iOS 8.4
事故日志:
-[MYCustomTextView\u finishHandlingInteraction:,/SourceCache/UIKit/UIKit-3347.44/UITextView\u LinkInteraction.m:335中的断言失败
*由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“”
*第一次抛出调用堆栈:
(0x2ad85fef 0x39171c8b 0x2ad85ec5 0x2ba84f17 0x2EAB9A4 0x2e76f2b7 0x2e76f793 0x2e76f735 0x2e76f52d 0x2eac4115 0x2e55806b 0x2e4070f9 0x2e820f9b 0x2e3d0181 0x2E3CE055F 0x2e4054d9 0x2e404ddd 0x2e3dafe5 0x198f2f 0x2e6518fb 0x2E3D499F9 0x2ad4bfaf 0x2AD4B3B3B3B3BF 0x2AD4925 0x2ac96201 0x2AC13 0x32472AE9600AA396F)
libc++abi.dylib:以NSException类型的未捕获异常终止
对于iOS 9(13A4293g)betta:
***在-[MYCustomTextView\u finishHandlingInteraction:]、/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3486.4/UITextView\u LinkInteraction.m:342中断言失败
*由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“”
*第一次抛出调用堆栈:
(0x24d69153 0x3659ee0f 0x24d69029 0x25b4862d 0x297c1867 0x297c2397 0x29362041 0x2936267b 0x293625e3 0x29362315 0x297cf597 0x29408299 0x29454123 0x290dff13 0x28f77189 0x294538f3 0x28f37ab1 0x28f75201 0x28f7494b 0x28f469b5 0x28F469E3 0x28F453D 0x24D281B 0x24C409 0xD224A7D0247D727D077D077D0287D077D07787B73)
libc++abi.dylib:以NSException类型的未捕获异常终止
- 测试:
- iOS 7.1(iPad模拟器)\不要崩溃
- iOS 8.4(iPad模拟器)\崩溃
- iOS 8.3(iPad 4)\崩溃
- iOS 8.3(iPad迷你版)\崩溃
- iOS 8.4(iPad mini 3)\崩溃
- iOS 9 betta(iPad迷你版)\崩溃
看来,添加到联系人所调用的视图仍在编辑中,如果您在此期间结束该视图,它将崩溃。您应该尝试的是强制您的创建新联系人视图结束,以便存储文本。或许可以尝试以下操作:
- (void) viewWillDisappear: (BOOL) animated {
[super viewWillDisappear: animated];
[self.view.window endEditing: YES]; //force the view to end here
}
这是iOS core中的一个问题。我曾写信给苹果支持部门。他们建议我在iOS 9 beta 4上测试它。现在它没有崩溃。但在日志中发布了很多奇怪的消息。无论如何,现在它不是讨论的主题。这是苹果公司的工作。这就是为什么。你能展示你的代码,说明在按下“添加到联系人”时的处理方式吗?我我想找到相同的,但它是标准控件。如果您将UIDataDetectorTypeAll设置为UITextView,Cocoa将自动突出显示链接、电话和电子邮件。并自动显示您可以在屏幕截图上看到的popover。现在我无法处理它=(好的,我现在明白你的问题了。谢谢你的关注,我会尝试使用你的建议。很遗憾,但我不能使用你的解决方案。因为这是标准控制=(对,它看起来像一个bug。你有机会在多个iOS版本上尝试过吗?好主意,我已经在我的问题中添加了一些关于它的信息。我将在最近的时间在iOS 9 betta上测试我的问题。因此,iOS 9 betta也有同样的问题(很酷,谢谢你的回答。所以更新iOS版本是唯一的办法。我已经写信给苹果支持部门。一个月后,他们建议我在iOS 9 betta上测试它(我不记得这个betta的号码)。崩溃已经修复。但是日志中出现了很多消息。我认为它在iOS 9中运行良好,但我没有检查它。希望它有帮助=)