【问题标题】:Nil optional does not crash in ReleaseNil optional 在 Release 中不会崩溃
【发布时间】:2015-03-19 11:51:57
【问题描述】:

我在 NSAppDelegate 中有以下简单代码

func applicationDidFinishLaunching(aNotification: NSNotification) {
  var opt:Int?
  NSLog("\(opt)")
  NSLog("\(opt!)")
  NSLog("done")
}

现在,当我在调试模式下运行它时,它会告诉我我们都知道如何解开 nil 可选。 但是当我运行它以释放它时,它会默默地退出应用程序,根本没有任何消息。没有控制台日志。没有转储。没什么!

这是怎么回事?

【问题讨论】:

  • 释放模式不只是关闭所有运行时检查吗? (我只是怀疑后台有空指针取消引用,但请尝试在调试器中检查您的代码。)
  • 是的,但我希望至少有崩溃日志!我的意思是你如何在这里找到生产中的东西?
  • 发行版中没有禁用日志输出吗?这意味着代码永远不会被执行......
  • @zisoft 好吧,假设您有一个应用程序,在这种情况下它不会发出崩溃日志。如果没有崩溃日志,你应该如何找出原因??
  • @TheParamagneticCroissant(我忘了在上面告诉你)

标签: swift crash release


【解决方案1】:

Apple 要求我检查该错误是否已在 Xcode 6.3 beta 3 和 Swift 1.2(内部版本:6D543q)中得到修复。不确定我是否真的想测试另一个测试版:-/ 但是,我的问题的答案是:这是一个错误。

编辑跳过我自己的影子,用最后一个 beta 测试 (4)。问题已修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    相关资源
    最近更新 更多