由于涉嫌 UISearchDisplayController,从 TestFlight 安装的应用程序崩溃

Installed App from TestFlight crashes due to alleged UISearchDisplayController

我在一个相对较旧的应用中使用 Xcode 当前测试版实现了深色模式。我为我的测试人员将这些上传到 TestFlight。但是,对于任何拥有 iOS 13.public 测试版的人来说,这会立即崩溃。

我已经将 Crashlytics 集成到应用程序中,这些崩溃的原因如下:

UISearchDisplayController is no longer supported when using this version of iOS. Please migrate your application to UISearchController.

所有 UISearchDisplayController 个实例已被 UISearchController 替换。该应用不再使用 UISearchDisplayControllerUISearchDisplayController 不再有任何链接。尽管如此,这些崩溃仍在继续发生,但仅限于安装 TestFlight。

如果使用 Xcode 作为 "Debug" 或 "Release" 在 public 测试版 iPhone 上直接安装应用程序,崩溃不会发生。

有人解决这个问题吗?

在收到同样的错误并且在我们的应用程序中找不到对 UISearchDisplayController 的引用后,我们意识到我们需要从我们的一个故事板中搜索并替换 searchDisplayController。这在向 TestFlight 重新提交测试版后更正了问题。

它在模拟器上运行,但所有 Beta 测试人员都声称它崩溃了。问题出在故事板上。在您的视图中搜索这些。

*** 由于未捕获的异常 'NSGenericException' 而终止应用程序,原因:'UISearchDisplayController is no longer supported when linking against this version of iOS. Please migrate your application to UISearchController.'

在本地成功运行,但在 testFlight 应用程序上崩溃。

修复:

我发现 UISearchDisplayController 卡在故事板之一中,不再使用。直接在故事板的源代码中搜索 searchDisplayController 并将其删除。