Xcode发布/ Swift条件代码

daredevil1234
func print(_ object: Any) {
#if DEBUG
    Swift.print(object)
#endif
}

我让此函数重载了默认的打印功能,以便仅在DEBUG版本上进行打印,但是,在RELEASE版本上,它只是关闭了应用程序,我无法确定原因。

有人有主意吗?

编辑:阅读日志,我发现调用此代码时,Crashlytics捕获以下内容作为崩溃的原因:

[Crashlytics:Crash] Warning: NSUncaughtExceptionHandler is 'mp_handleUncaughtException' in '/Users/daredevil/Library/Developer/CoreSimulator/Devices/2FB9948E-77D9-4F76-9928-15ED2ED18E4A/data/Containers/Bundle/Application/39AB3114-EB6F-4520-B8FF-90908C5B9654/App.app/Frameworks/Mixpanel.framework/Mixpanel'

每当我删除全局替代打印功能时,都不会发生此崩溃。

编辑2:忽略先前的编辑。Mixpanel与该问题无关。我将其完全删除,但仍然崩溃。

很少

我不知道您是否找出导致崩溃的原因,但可能与您使用的打印签名有关。

我使用类似的方法从发行版本中删除打印语句,但是我使用的打印签名是:

// Only show print statements while in DEBUG
func print(_ item: @autoclosure () -> Any, separator: String = " ", terminator: String = "\n") {
    #if DEBUG
    Swift.print(item(), separator:separator, terminator: terminator)
    #endif
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章