【问题标题】:Xcode takes long time to print debug results.Xcode 需要很长时间才能打印调试结果。
【发布时间】:2018-07-30 18:21:08
【问题描述】:

当我在 Xcode 上调试时,在 Xcode 控制台上打印po 的结果大约需要 30 秒或更长时间。

不幸的是,这只是我掌握的有关该问题的少量信息。

但是,还有一点需要考虑。这个问题对于一个项目来说是非常具体的。这是因为当我将po 用于同一 Macbook 上的其他项目时,它会立即工作。此外,这个特定项目在所有其他 Macbook 和所有团队上都很慢。

我用谷歌搜索了它,但没有找到相关的答案。我发现使用 print(...) 比在 Xcode 控制台上使用调试更容易。然而,这是更多的工作,需要大量的重建。

【问题讨论】:

  • 不要使用po,试试e 或p。看看有没有帮助...
  • 是的,我都试过了。都一样慢。
  • 对不起。我不知道!

标签: swift xcode


【解决方案1】:

我有几种解释:

  1. 有很多代码(在一定数量的代码之后 Xcode 会变慢) 还要确保您的打印语句位于页面顶部。 Xocde 从上到下。

  2. 您的 Mac 运行缓慢。某些 Mac 在使用一定量后会变慢。此外,如果您有 Mac mini 或 air,它们的速度会比其他设备慢。

  3. Xcode 测试版。如果您使用的是 Xcode 测试版,那么可能只是一个错误。

如果这些答案都没有,您可以向我提供更多信息,而我会提供其他解决方案。

【讨论】:

    【解决方案2】:

    斯威夫特:

    试试这个有助于减少调试模式下的日志时间的解决方案。

    第 1 步:创建一个名为 Utils.swift 的新文件(文件名取决于您的喜好)

    第 2 步:在文件中添加以下代码

    import Foundation
    import UIKit
    
    struct Utils { }
    public func PrintLogs(_ message: Any, file: String = #file, function: String = #function, line: Int = #line) {
        #if DEBUG
        let className = file.components(separatedBy: "/").last ?? ""
        let classNameArr = className.components(separatedBy: ".")
        NSLog("\n\n--> Class Name:  \(classNameArr[0]) \n--> Function Name: \(function) \n--> Line: \(line)")
        print("--> Log Message: \(message)")
        #endif
    }
    

    用法:调用PrintLogs("Hello")而不是print("Hello")

    样本输出:

    --> Class Name:  HomeViewController 
    --> Function Name: logTest() 
    --> Line: 81
    --> Log Message: Hello
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-18
      • 2018-10-16
      • 2018-01-12
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      相关资源
      最近更新 更多