ios – 崩溃日志表明应用程序在我的应用程序中不存在的UIPopoverPresentationController方法崩溃

ios – 崩溃日志表明应用程序在我的应用程序中不存在的UIPopoverPresentationController方法崩溃,第1张

概述我收到崩溃日志,说我的应用程序正在崩溃[UIPopoverPresentationController presentationTransitionWillBegin],但我的代码中没有任何地方使用UIPopoverPresentationController.一切都在iPad上,我使用的UIDocumentInteractionController看起来很相似,也许它是UIPopoverPres 我收到崩溃日志,说我的应用程序正在崩溃[UIPopoverPresentationController presentationTransitionWillBegin],但我的代码中没有任何地方使用UIPopoverPresentationController.一切都在iPad上,我使用的UIdocumentInteractionController看起来很相似,也许它是UIPopoverPresentationController的子类,我不知道.知道是什么原因引起的吗?

Exception Type:  EXC_CRASH (SIGABRT)Exception Codes: 0x0000000000000000,0x0000000000000000Exception Note:  EXC_CORPSE_NOTIFYTriggered by Thread:  0Last Exception Backtrace:0   CoreFoundation                  0x184799900 __exceptionPreprocess + 124 (NSException.m:162)1   libobjc.A.dylib                 0x183e07f80 objc_exception_throw + 56 (objc-exception.mm:531)2   UIKit                           0x189db43a0 -[UIPopoverPresentationController presentationTransitionWillBegin] + 2884 (UIPopoverPresentationController.m:1197)3   UIKit                           0x1897e82fc __71-[UIPresentationController _initVIEwHIErarchyForPresentationSupervIEw:]_block_invoke + 1640 (UIPresentationController.m:1136)4   UIKit                           0x1897e6414 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 332 (UIPresentationController.m:704)5   UIKit                           0x18973cb70 _runAfterCACommitDeferredBlocks + 292 (UIApplication.m:2312)6   UIKit                           0x18974a030 _cleanUpAfterCAFlushAndRunDeferredBlocks + 92 (UIApplication.m:2290)7   UIKit                           0x18947dc24 _afterCACommitHandler + 96 (UIApplication.m:2342)8   CoreFoundation                  0x184750588 __CFRUNLOOP_IS_CALliNG_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 (CFRunLoop.c:1620)9   CoreFoundation                  0x18474e32c __CFRunLoopDoObservers + 372 (CFRunLoop.c:1716)10  CoreFoundation                  0x18474e75c __CFRunLoopRun + 928 (CFRunLoop.c:2558)11  CoreFoundation                  0x18467d680 CFRunLoopRunspecific + 384 (CFRunLoop.c:2814)12  GraphiCSServices                0x185b8c088 GSEventRunModal + 180 (GSEvent.c:2245)13  UIKit                           0x1894f4d90 UIApplicationMain + 204 (UIApplication.m:3681)14  MyCoolApp                       0x100083564 0x10007c000 + 3005215  libdyld.dylib                   0x18421e8b8 start + 4 (start_glue.s:80)
解决方法 所以问题最终是我有一个UIAlertController,我提出错误的方式.这是导致崩溃的原因.

UIAlertController *alert = [UIAlertController alertControllerWithTitle:NulL message:NulL preferredStyle:UIAlertControllerStyleActionSheet];[alert addAction:[UIAlertAction actionWithTitle:copyKey style:UIAlertActionStyleDefault handler:alerAction]];[alert addAction:[UIAlertAction actionWithTitle:shareKey style:UIAlertActionStyleDefault handler:alerAction]];[alert addAction:[UIAlertAction actionWithTitle:cancelKey style:UIAlertActionStyleCancel handler:alerAction]];//THIS liNE CRASHED IT[self presentVIEwController:alert animated:1 completion:NulL];

我刚刚没有在iPad上进行过充分的测试,当我尝试使用插入的调试器时崩溃并给了我一个冗长的有用信息,这里有一段摘录“你必须通过警报控制器的popoverPresentationController为这个popover提供位置信息” .所以这就是我现在呈现它的方式并且它有效.

[alert setModalPresentationStyle:UIModalPresentationPopover];UIPopoverPresentationController *popPresenter = [alert popoverPresentationController];popPresenter.sourceVIEw = self.vIEw;popPresenter.sourceRect = alertSourceRect;[self presentVIEwController:alert animated:YES completion:nil];
总结

以上是内存溢出为你收集整理的ios – 崩溃日志表明应用程序在我的应用程序中不存在的UIPopoverPresentationController方法崩溃全部内容,希望文章能够帮你解决ios – 崩溃日志表明应用程序在我的应用程序中不存在的UIPopoverPresentationController方法崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1082287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存