启动我的应用程序恰好60秒后,它崩溃了,并出现了一个未捕获的异常:
libc++abi.dynlib: terminating app due to uncaught exception of type NSException
*** Terminating app due to uncaught exception of type 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: object cannot be nil (key: BundleVersion)'崩溃的线程有一个随机数(在附加的截图中是#7 ),它总是为未知的to me队列glmtl.telemetry创建的。
崩溃只发生在一个设备(iPhone 11Pro Max)和iOS 14.0上(然后用iOS 14.0.1复制)。
我没有在项目中的任何地方使用密钥"BundleVersion“。( info.plist中有CFBundleVersion,但似乎没有关系)。
这可能是由项目源代码引起的吗?

发布于 2020-09-29 07:41:21
这不是对问题的解释,但在将一组丢失的资源文件添加到捆绑包中的文件夹(不是组,而是文件夹)后,崩溃停止出现。
发布于 2020-10-09 00:10:54
修复
我也有同样的问题。在我的例子中,我需要将CFBundleVersion添加到项目的Info.plist中,因为异常提到了"BundleVersion"键,并且因为我记得看到了XCode complain about invalid bundles when that key is missing。
我的猜测是,应该为主项目的Info.plist和任何具有自己的Info.plist的嵌入式框架或项目设置这些recommended CFBundle* keys。我只是很惊讶XCode 12现在没有在构建时抛出这个错误。
问题来源(?)
你在你的应用中使用OpenGL吗?我找不到glmtl是什么,但似乎崩溃恰好发生在我实例化一个新的OpenGL上下文1分钟之后。如果我删除之前的上下文,1分钟后仍然会发生崩溃,但如果我在这之前创建一个新实例,崩溃会延迟一分钟。
https://stackoverflow.com/questions/64105951
复制相似问题