gpt4 book ai didi

objective-c - 我的 Mac 应用程序应如何处理 fatal error ?

转载 作者:行者123 更新时间:2023-12-03 17:59:09 25 4
gpt4 key购买 nike

我正在 Xcode 中创建一个 Cocoa OpenGL 游戏,我希望在某个时候在 Mac 应用商店上分发它。当我的应用程序遇到 fatal error (即无法创建像素格式或 OpenGL 上下文)时,我不确定该怎么办。我想我应该显示一些消息来说明发生了什么,也许给用户一个表单来输入快速评论并将其发送给我(我将如何执行此操作?),然后终止。但最好的方法是什么?



NSOpenGLPixelFormatAttribute attribs[] = {

NSOpenGLPFAAccelerated, // Hardware acceleration
NSOpenGLPFADoubleBuffer, // Double buffering
NSOpenGLPFAColorSize, 320, // *** THIS IS FOR TESTING FAILURE ***
0
};

// Create pixel format
pixelFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attribs];
if (!pixelFormat) {
//////////////////////////////FATAL ERROR//////////////////////////////
}

// Create OpenGL context
openGLContext = [[NSOpenGLContext alloc] initWithFormat:pixelFormat shareContext:nil];
if (!openGLContext) {
//////////////////////////////FATAL ERROR//////////////////////////////
}


请注意,我请求颜色大小为 320 只是为了测试在这种不太可能的情况下会发生什么。

我研究过 NSAlert 但它似乎更适合警告消息,即使样式设置为 NSCriticalAlertStyle 也是如此。我想之后我应该使用 [NSApp Terminate:nil] 退出,但我不确定。在这些情况下我应该怎么做,才能与其他应用程序保持一致并符合 Apple 的做法?

请注意,这仅在启动时发生。

最佳答案

我认为您不应该向用户询问信息。您可能应该将状态写入磁盘,然后在下次启动时发送崩溃报告。您的数据应该记录用户最近的 N 个操作等。向用户询问信息会让用户感到恼火,并且可能不会为您提供所需的真实信息。

关于objective-c - 我的 Mac 应用程序应如何处理 fatal error ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9103374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com