objective-c – 更新为macOS Mojave后崩溃[NSWindow orderFrontRegardless]

objective-c – 更新为macOS Mojave后崩溃[NSWindow orderFrontRegardless],第1张

概述更新到Mojave后得到这个奇怪的崩溃. 没有做任何特别的事情,只需创建一个NSWindow并调用orderFrontRegardless 之前一直很好. 1 libsystem_platform.dylib 0x00007fff6610ab5d _sigtramp + 292 ??? 0x000000 更新到Mojave后得到这个奇怪的崩溃.

没有做任何特别的事情,只需创建一个NSWindow并调用orderFrontRegardless

之前一直很好.

1   libsystem_platform.dylib            0x00007fff6610ab5d _sigtramp + 292   ???                                 0x0000000000000000 0x0 + 03   CoreFoundation                      0x00007fff39b00bb6 __CFNOTIFICATIONCENTER_IS_CALliNG_OUT_TO_AN_OBSERVER__ + 124   CoreFoundation                      0x00007fff39b00b30 ___CFXRegistrationPost_block_invoke + 635   CoreFoundation                      0x00007fff39b00a9a _CFXRegistrationPost + 4046   CoreFoundation                      0x00007fff39b08f48 ___CFXNotificationPost_block_invoke + 877   CoreFoundation                      0x00007fff39a71994 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 16428   CoreFoundation                      0x00007fff39a70d47 _CFXNotificationPost + 7329   Foundation                          0x00007fff3bdab217 -[NSNotificationCenter postNotificationname:object:userInfo:] + 6610  AppKit                              0x00007fff3720538b -[NSWindow _setFrameCommon:display:stashSize:] + 309011  AppKit                              0x00007fff37204766 -[NSWindow _setFrame:display:allowImplicitAnimation:stashSize:] + 19212  AppKit                              0x00007fff3720469f -[NSWindow setFrame:display:] + 5113  AppKit                              0x00007fff3727aca9 -[NSWindow _reallyDoOrderWindowAboveOrBelow:relativeTo:findKey:forCounter:force:isModal:] + 133614  AppKit                              0x00007fff372792a0 -[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 28315  AppKit                              0x00007fff37a0dce9 -[NSWindow orderFrontRegardless] + 40

代码(它是一个控制台应用程序):

NSWindow *window =    [[NSWindow alloc] initWithContentRect:windowRectstyleMask:windowstylebacking:NSbackingStoreBuffereddefer:NO];// Since SNow Leopard,programs without application bundles and Info.pList// files don't get a menubar and can't be brought to the front unless the// presentation option is changed[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; [NSApp activateIgnoringOtherApps:YES]; [window makeKeyAndOrderFront:nil];
解决方法 你如何初始化应用程序?在使用AppKit之前是否已初始化NSApplication?

在main.m中应该有类似这些步骤的东西:

@autoreleasepool {    NSApplication* application = NSApplication.sharedApplication;    AppDelegate* delegate = [[AppDelegate alloc] init];    application.delegate = delegate;    [application run];}

此外,您的委托可能会被取消分配,因为NSApp持有弱引用.

总结

以上是内存溢出为你收集整理的objective-c – 更新为macOS Mojave后崩溃[NSWindow orderFrontRegardless]全部内容,希望文章能够帮你解决objective-c – 更新为macOS Mojave后崩溃[NSWindow orderFrontRegardless]所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存