ios – 我的应用程序甚至在应用程序之前在iPad上崩溃:didFinishLaunchingWithOptions:

ios – 我的应用程序甚至在应用程序之前在iPad上崩溃:didFinishLaunchingWithOptions:,第1张

概述在ipad上运行时,我的应用程序崩溃了以下崩溃日志. 它在 iphone设备上运行良好. 您可能会注意到,它在尝试设置窗口时崩溃.我到处搜索,但在任何其他主题中都没有看到这样的问题. 谢谢你的帮助. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectFo 在ipad上运行时,我的应用程序崩溃了以下崩溃日志.
它在 iphone设备上运行良好.
您可能会注意到,它在尝试设置窗口时崩溃.我到处搜索,但在任何其他主题中都没有看到这样的问题.

谢谢你的帮助.

@H_502_15@*** Terminating app due to uncaught exception 'NSinvalidargumentexception',reason: '*** setobjectForKey: object cannot be nil (key: NSParagraphStyle)'*** First throw call stack:( 0 CoreFoundation 0x000000010e38ff35 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010e028bb7 objc_exception_throw + 45 2 CoreFoundation 0x000000010e296998 -[__NSDictionaryM setobject:forKey:] + 968 3 UIKit 0x000000010ca99d2d -[UILabel _setlineBreakMode:] + 529 4 UIKit 0x000000010cb7a572 -[UIbuttonLabel setlineBreakMode:] + 93 5 UIKit 0x000000010cb86e5c -[UIbutton _setupTitleVIEwRequestingLayout:] + 308 6 UIKit 0x000000010cb7ed15 -[UIbutton TitleLabel] + 51 7 UIKit 0x000000010cd3c6d8 -[UIZoomVIEwController loadVIEw] + 476 8 UIKit 0x000000010c9f67f9 -[UIVIEwController loadVIEwIfrequired] + 75 9 UIKit 0x000000010c9f6c8e -[UIVIEwController vIEw] + 27 10 UIKit 0x000000010cd3bfa4 -[UIZoomVIEwController init] + 78 11 UIKit 0x000000010cd39eeb -[UIClassicController _setupWindow] + 544 12 UIKit 0x000000010cd39b7c +[UIClassicController sharedClassicController] + 140 13 UIKit 0x000000010c8e47dd -[UIApplication _handleApplicationActivationWithScene:TransitionContext:completion:] + 666 14 UIKit 0x000000010c8e42ae __88-[UIApplication _handleApplicationlifecycleEventWithScene:TransitionContext:completion:]_block_invoke + 138 15 UIKit 0x000000010c8e4215 -[UIApplication _handleApplicationlifecycleEventWithScene:TransitionContext:completion:] + 349 16 UIKit 0x000000010c8cf31a -[UIApplication scene:dIDUpdateWithDiff:TransitionContext:completion:] + 486 17 UIKit 0x000000010c8cedb8 -[UIApplication workspace:dIDCreateScene:withTransitionContext:completion:] + 336 18 FrontBoardServices 0x000000011064f612 __56-[FBSWorkspace clIEnt:handleCreateScene:withCompletion:]_block_invoke_2 + 265 19 FrontBoardServices 0x000000011065e2a3 __31-[FBSSerialQueue performAsync:]_block_invoke + 16 20 CoreFoundation 0x000000010e2c553c __CFRUNLOOP_IS_CALliNG_OUT_TO_A_BLOCK__ + 12 21 CoreFoundation 0x000000010e2bb285 __CFRunLoopdoblocks + 341 22 CoreFoundation 0x000000010e2bb045 __CFRunLoopRun + 2389 23 CoreFoundation 0x000000010e2ba486 CFRunLoopRunspecific + 470 24 UIKit 0x000000010c8ce669 -[UIApplication _run] + 413 25 UIKit 0x000000010c8d1420 UIApplicationMain + 1282 26 Edyn 0x0000000109704323 main + 115 27 libdyld.dylib 0x000000010ebd2145 start + 1 28 ??? 0x0000000000000001 0x0 + 1)

编辑1

问题比我想象的要复杂得多.这就是我所做的.

>实现的方法在[UIbuttonLabel setlineBreakMode:]周围调整,以便我可以看到导致为lineBreakMode使用nil的原因.我发现如果将lineBreakMode设置为除NSlineBreakByWorDWrapPing以外的其他东西,它最终会崩溃.
>为了临时使它工作,我将lineBreakMode强制转换为NSlineBreakByWorDWrapPing,这在这种情况下并不是什么大问题,因为标签在我的应用程序中永远不会被查看.

编辑2

在使用lineBreakMode修复问题后,我现在遇到了同样的问题,但这次是[UILabel setShadow:].
请注意,它在标签上崩溃,我没有更改任何阴影属性(颜色,偏移或blurRadius).
我也得到了相同的问题,但这次是使用了paragraphStyle

这意味着我绝对不能继续使用这种方法,因为它似乎在正在发生的事情中被打破.

编辑3

当我将应用程序的部署目标更改为通用时,我没有上述任何问题.

解决方法 我在一个类别中覆盖了这两个函数并猜测是什么?即使您在AppDelegate中控制应用程序之前,这些功能似乎也被ios调用.由于某些原因,在ipad上这个回报为零.
删除类别修复了问题.

@H_502_15@+ (ID)systemFontOfSize:(CGfloat)sz { return [UIFont FontWithname:@"HelveticaNeue-Regular" size:sz];}+ (ID)boldSystemFontOfSize:(CGfloat)sz { return [UIFont FontWithname:@"HelveticaNeue-Bold" size:sz];} 总结

以上是内存溢出为你收集整理的ios – 我的应用程序甚至在应用程序之前在iPad上崩溃:didFinishLaunchingWithOptions:全部内容,希望文章能够帮你解决ios – 我的应用程序甚至在应用程序之前在iPad上崩溃:didFinishLaunchingWithOptions:所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1060824.html

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

发表评论

登录后才能评论

评论列表(0条)

保存