iOS 应用在导航期间迁移到 swift3 后崩溃

Posted

技术标签:

【中文标题】iOS 应用在导航期间迁移到 swift3 后崩溃【英文标题】:iOS App crashes after migrating to swift3 during navigation 【发布时间】:2016-11-07 09:56:00 【问题描述】:

我已将我的项目迁移到 Swift3,转换后,每当我单击任何加载新屏幕的按钮时,应用程序都会崩溃。崩溃发生在汇编代码中,因此无法找出问题所在。控制离开现有的类,然后转到汇编语言,然后在加载新屏幕之前崩溃。

这是我收到的错误消息

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[_SwiftValue pointSize]:无法识别的选择器发送到实例 0x61000005fb00”

在任何特定代码中都不会发生崩溃,因此很难识别错误。请帮我解决这个问题。

【问题讨论】:

选择器和转场的 Swift3 语法发生了变化。请检查您使用的语法是否正确。 这有帮助吗:***.com/a/39511309/413337 ? @Sharpkits 如果这是一个语法错误,那么它会在执行 segue 的代码中崩溃,但在这里它会在汇编代码中崩溃 @Codo 该链接没有帮助。我还没有写任何与字体相关的代码。此外,我将情节提要中的代码更改为系统字体,以检查它是否与字体有关。那也没用 我创建了一个新的 viewController 并添加了一个 segue 并且有效..但我无法为我的项目中的所有屏幕创建一个新的 UI :( ..这肯定需要更多时间.. 【参考方案1】:

您的故事板可能有一个出口(标签、文本字段、uiButton...),它不再是您的控制器中的地图。您应该检查每个组件,看看您是否没有删除控制器中的引用和情节提要中的没有...

【讨论】:

以上是关于iOS 应用在导航期间迁移到 swift3 后崩溃的主要内容,如果未能解决你的问题,请参考以下文章

计算数据库实时数据时出现异常 - 迁移期间崩溃

将代码更新到 xcode 9 和 swift 4 后应用程序崩溃

ios 13 SwiftUI向后导航时如何避免导航视图内的TabView应用崩溃

iOS App Store 应用程序在登录期间崩溃(不在开发中)

iOS 10 本地通知不起作用(迁移到 UserNotifications 框架)

在 fitbit 授权期间通过 url/ 打开 iOS 应用程序时崩溃