我想将 PLCrashReporter 集成到我的静态库项目中,并生成一个嵌入它的 .framework。
到目前为止,我遵循相同的层次结构从他们的源代码 XCode 项目中导入代码。将文件拖放到我的 XCode 项目中。很多文件需要链接器标志,因为它们不使用 ARC,但我是。
不,我遇到了一个我不太理解的问题,可能是因为我在使用 Objective-C 时的低级经验有限。
因此,在 PLCrashSignalHandler.mm 文件中有一个带有两种情况的开关,并且都停止编译并出现错误“情况值不是常量表达式”。
switch ((uintptr_t) (next->value().action.sa_handler)) {
case ((uintptr_t) SIG_IGN):
/* Ignored */
handled = true;
break;
case ((uintptr_t) SIG_DFL):
/* Default handler should be run, be we have no mechanism to pass through to
* the default handler; mark the signal as unhandled. */
handled = false;
break;
default:
/* Handler registered, execute it */
next->value().action.sa_handler(signo);
handled = true;
break;
}
case ((uintptr_t) SIG_IGN):
并case ((uintptr_t) SIG_DFL):
停止生成上述错误。
他们的源代码正在正确构建项目,所以我很好奇我在这里错过了什么。
谢谢。