首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Obj-C / Swift项目中的致命陷阱异常

Obj-C / Swift项目中的致命陷阱异常
EN

Stack Overflow用户
提问于 2014-10-22 01:11:54
回答 2查看 1.8K关注 0票数 2

我开始将Swift代码集成到我的Obj项目中。一切都进行得很顺利,但是今天,当我更新到Xcode 6.1时,一切都很顺利。我得到了许多以前运行良好的Swift代码中的一些“陷阱”异常。

第一个崩溃在我的UIFont扩展中。这是我的密码:

代码语言:javascript
复制
class func specialFont() -> UIFont {
    let font = UIFont(name: "FontName", size: 12.0)
    return font!
}

在更新到Xcode 6.1之前,这段代码运行良好,但现在EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT)dylddyld_fatal_error: 0x1fe1608c: trap上崩溃了。(顺便说一句,我没有设置异常断点。)尝试继续执行程序并不会生成崩溃日志,它只是进入了生成异常的无休止的循环。同样,在Xcode 6.1更新之前,代码运行良好。

第二次崩溃特别奇怪,因为它只发生在设备上进行调试时,而不是在模拟器上。与上面相同的异常信息。下面是正在崩溃的第二段代码:

代码语言:javascript
复制
let tap = UITapGestureRecognizer(target: self, action: "didTap")
self.addGestureRecognizer(tap)

谢谢你的帮助!

更新

堆栈跟踪如下:

代码语言:javascript
复制
0] dyld_fatal_error
1] dyld_stub_binder
4] Project.FileWhereCrashTriggers.methodTriggeringCrash
5] @objc Project.FileWhereCrashTriggers.methodTriggeringCrash
6] -- continued trace up to call of method crashing

这些崩溃的一个奇怪之处是,它们不会触发实际代码行上的异常,正如您从堆栈跟踪中看到的那样。他们闯进了dyld_fatal_error。

我不能上传任何控制台输出,因为该应用程序在运行Xcode时从未实际崩溃--它调用的无休止地类似于EXC_BAD_ACCESS。我在非调试模式下触发了崩溃,然后使用组织者查看设备日志,它提供了以下内容:

异常类型: EXC_BREAKPOINT (SIGTRAP)异常代码:0x00000000000001,0x00000000e7ffdefe由线程触发:0 Dyld错误消息:符号未找到:__TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS引用自: /private/var/mobile/Containers/Bundle/Application/4ABA71F8-A6D1-4E4B-A452-DE339065310A/Project.app/Project 预期在: /private/var/mobile/Containers/Bundle/Application/4ABA71F8-A6D1-4E4B-A452-DE339065310A/Project.app/Frameworks/libswiftCore.dylib Dyld版本: 353.5

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-22 18:20:59

在进行了更多的实验之后,我能够解决这些冲突,方法是在所有我的Obj代码(包括init方法)调用的快速方法中使用标记。例如,将override init(frame: CGRect)更改为@objc override init(frame: CGRect)

顺便提一下:为什么在Xcode 6.0中,@objc标志不是“必需的”(尽管这可能是最佳实践),但在Xcode 6.1中突然成为了一个要求,我还是有点困惑。

票数 0
EN

Stack Overflow用户

发布于 2014-10-23 15:20:36

一个干净的构建为我解决了这个问题(从XCode中清除并在设备上删除应用)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26498919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档