Xcode 版本 13 构建的应用程序在 ios 12 上崩溃

App builded by Xcode version 13 crashed on ios 12

我的应用在 iOS 15 和 14,也许 13 上运行良好。但是当我 运行 在旧设备上使用 iOS 12 时,它在启动时崩溃,甚至在 didFinishLaunchingWithOptions 被触发之前。我上次使用 Xcode 12.

构建时工作正常

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named UINavigationBarAppearance because no class named UINavigationBarAppearance was found; the class needs to be defined in source code or linked in from a library (ensure the class is part of the correct target)' terminating with uncaught exception of type NSException

在 Xcode13 中,故事板编辑器(以及故事板本身)包含有关导航栏外观 (UINavigationBarAppearance) 的信息:

但是iOS12中没有这样的class,所以这个故事板与iOS12下的运行不兼容。

您可以通过使故事板向后兼容 iOS12:

来解决这个问题

但我没有亲自尝试过,所以不能保证。