/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1504.81.100/AppKit.subproj/NSBitmapImageRep.m:1296
在 Mac OS 上的简单 PyQt5 Python 3 程序中导致错误。我怎样才能下载这个文件?
2017-03-23 22:50:20.703 Python[94924:2805073] *** Assertion failure in - [NSBitmapImageRep initWithCGImage:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1504.81.100/AppKit.subproj/NSBitmapImageRep.m:1296
2017-03-23 22:50:20.734 Python[94924:2805073] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: cgImage != NULL'
听起来您遇到了 QT 中的错误:https://bugreports.qt.io/browse/QTBUG-58344
根据报告,它应该在 QT 5.8.1 中修复
回答所提出的字面问题:NSBitmapImageRep 是 AppKit 框架中的一个类,当应用程序在 Mac 上运行时,QT 使用它。正如引用的 reddit 用户提到的:您的系统上没有源文件,即使是暂时的。如果您将报告提交给 QT 或 Apple,这些崩溃报告中包含的行号旨在用于诊断问题。
要添加到另一个答案,该路径引用了 Objective-C 源文件(
.m
),大概来自 Apple 专有的 AppKit 源代码,并且可能源自 Apple 内部构建机器,该机器被烘焙到其中一个系统中macOS 附带的库:
/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1504.81.100/AppKit.subproj/NSBitmapImageRep.m
虽然没有太多公开文档,但
com.apple.xbs
很可能是 Apple 内部构建系统,因为它似乎经常出现在指向 Apple 框架源文件的错误路径中。 2006 年的一篇博文似乎证实了这一点:
Apple 以外的人很难理解他们使用的约定以及他们需要遵循的内部流程。例如,很难跟踪哪些项目的哪些版本进入了哪个版本,以及什么构成了一致的系统。 构建源代码也非常困难,因为 Apple 内部构建系统 XBS 非常庞大,非常复杂,并且在 Apple 外部没有记录。对于构建 Darwin 独立版本,无法使用 XBS,因为它是专有的,并且因为它对于普通人来说太大太复杂了。