Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当我取消在popover中添加联系人时,UItextView崩溃_Ios_Objective C_Crash_Uitextview_Datadetectortypes - Fatal编程技术网

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中运行良好,但我没有检查它。希望它有帮助=)