我在我的iOS应用程序中遇到了一个奇怪的错误,它只发生在设备中.在我的应用程序中,我有一个主页,如果用户按下按钮,我将显示一个FormSheet(关于我们页面).
@H_403_4@问题1 @H_403_4@当我长按该链接时,我在控制台上收到一条警告消息:
>部署目标:8.1
> Xcode版本:7.2.1
> iOS设备操作系统版本:9.1
let storyBoard = UIStoryboard(name: "Utility",bundle: nil); let aboutUsVC = storyBoard.instantiateViewControllerWithIdentifier("AboutUs") as! AboutUsViewController; aboutUsVC.modalPresentationStyle = .FormSheet; aboutUsVC.preferredContentSize = CGSize(width: 500,height: 400); self.presentViewController(aboutUsVC,animated: true,completion: nil);@H_403_4@我在我们页面中放置了一个UITextView,并添加了一个链接,因为它的内容:
@H_403_4@问题1 @H_403_4@当我长按该链接时,我在控制台上收到一条警告消息:
@H_403_4@<_UIRotatingAlertController: 0x13e107200> on which is already presenting@H_403_4@问题2 @H_403_4@长按后如果再次点击链接,应用程序崩溃并显示以下消息:
@H_403_4@2016-03-16 18:11:37.022 MyApp[938:400786] *** Assertion failure in@H_403_4@我认为UIKit造成了这次崩溃.我该如何修复这次崩溃? @H_403_4@更多信息: @H_403_4@>基础SDK:9.2
-[UITextView startInteractionWithLinkAtPoint:],/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.29.5/UITextView_LinkInteraction.m:377 @H_403_4@2016-03-16 18:11:37.023 MyApp[938:400786] *** Terminating app due
to uncaught exception ‘NSInternalInconsistencyException’,reason: ”
*** First throw call stack: (0x184220f48 0x198e47f80 0x184220e18 0x185114a1c 0x18a12de50 0x189d38be4 0x189d2f330 0x189958b5c
0x1897e685c 0x189d3070c 0x1897a58b8 0x1897a263c 0x1841d7bd0
0x1841d5974 0x1841d5da4 0x184104ca0 0x18f184088 0x18981cffc
0x100188368 0x19968a8b8) libc++abi.dylib: terminating with uncaught
exception of type NSException
>部署目标:8.1
> Xcode版本:7.2.1
> iOS设备操作系统版本:9.1
解决方法
@H_301_44@ 正如在 Apple Forum post中提到的,我实现了以下UITextViewDelegate,它解决了我的问题func textView(textView: UITextView,shouldInteractWithURL URL: NSURL,inRange characterRange: NSRange) -> Bool { UIApplication.sharedApplication().openURL(URL) return false }@H_403_4@@Louis Tur:谢谢你的链接