我在xcode中更改了我的应用的显示名称,该应用的运行不再崩溃

时间:2020-03-23 17:41:20

标签: ios xcode

尝试更改项目的显示名称后,无论何时运行它,它启动时都会崩溃,并显示以下错误消息:

2020-03-23 19:32:05.010069 + 0200冠状病毒工具[10927:4335736] 接口生成器中的未知类_TtC8CoronaMT18TipsViewController 文件。 2020-03-23 19:32:05.059007 + 0200冠状病毒工具[10927:4335736] 接口中的未知类_TtC8CoronaMT24StatisticsViewController 生成器文件。 2020-03-23 19:32:05.061510 + 0200冠状病毒 工具[10927:4335736]未知类 接口生成器文件中的_TtC8CoronaMT28RiskCalculatorViewController。 2020-03-23 19:32:05.063672 + 0200冠状病毒工具[10927:4335736] 接口中的未知类_TtC8CoronaMT27NotificationsViewController 生成器文件。 2020-03-23 19:32:05.067168 + 0200冠状病毒 工具[10927:4335736]中的未知类_TtC8CoronaMT18MoreViewController 接口生成器文件。 2020-03-23 19:32:05.131735 + 0200冠状病毒 工具[10927:4335736] *由于未捕获的异常而终止应用程序 'NSUnknownKeyException',原因:“ [ setValue:forUndefinedKey:]:此类不是键值 键blueButton符合编码要求。” * 第一个抛出调用堆栈:(0x181086d8c 0x1802405ec 0x1810869f0 0x1819dc44c 0x18b1375a0 0x18b3097e4 0x180f94b24 0x18b3081f4 0x18b139aa8 0x18ad7d074 0x18aca1b14 0x18ad4fe1c 0x18ad4f2d8 0x18ad4ec14 0x18ad4e6a4 0x18ad423a8 0x18ac9a6f4 0x18520fe54 0x185213fe4 0x1851806c8 0x1851a81b0 0x18b084680 0x18102f2bc 0x18102ea7c 0x18102c7b0 0x180f4cda8 0x182f32020 0x18af6c758 0x100bc550c 0x1809ddfc0)libc ++ abi.dylib:未捕获终止 NSException类型的异常

我尝试在info.plist中添加Bundle显示名称,并将名称恢复为原样,同时清理项目,重新启动xcode,并删除应用程序/重新安装。

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

此错误的线索是blueButton。我的直觉是IBOutlet的先前插座仍连接到blueButton。检查是否有两个插座连接到blueButton。如果是这样,Xcode会崩溃,因为它不知道要使用哪个插座。希望有帮助。

答案 1 :(得分:0)

通常,“ UIViewController ...不符合KVC ...”消息表明尚未设置场景的基类(因此在警告开始时使用“ UIViewController”),并且因此找不到blueButton出口。

(FWIW,如果警告是“ RiskCalculatorViewController ...不符合...的KVC”,这将表明该特定UIViewController子类中的插座存在问题。但是错误不会引用UIViewController的任何特定子类,这表明问题不在于出口本身,而在于此情节提要场景的基类。)

幸运的是,您与我们分享了一系列错误消息。我们可以看到情节提要找不到的一连串视图控制器类(请参见加粗的错误)。这提示了一个更基本的问题,即您的重命名过程出了点问题,使所有这些情节提要基类都变得找不到。

如果可以,请回滚到该应用的先前版本,然后再次尝试重命名过程。

如果没有,则必须手动清理。看来至少发生了以下两种可能性之一:

  1. 您的视图控制器类(可能还有其他源文件)的“目标成员资格”设置不正确:

    enter image description here

    确保主要目标旁边有一个对勾。

  2. 假设一切正常/已解决,请回到情节提要并检查为场景的基类选择的“模块”。

    enter image description here

    确保“模块”是您的主要目标。

    有时候,您只需选择模块即可。不过有时候,这行不通。在这种情况下,我经常会在“自定义类别”部分中删除“类别”名称,离开该字段,然后再次输入并再次输入类别名称,模块将被正确选择。