如何提高Xcode控制台输出的质量

时间:2012-12-12 09:15:05

标签: xcode

在Xcode中的iPhone控制台日志(见下面的示例)中转储了大量的低级别系统调试通知 - >组织者 - >我的iPhone - >控制台。

这有效地淹没了我自己的开发输出。 (我使用第三方框架(不是Xcode)制作应用程序,所以我只使用Xcode查看手机的控制台输出。)

更糟糕的是,iPhone控制台日志似乎只返回一天或几百行顶部,所以如果我昨天崩溃了,当我到达时,它肯定会被详细的系统通知覆盖办公室进行调试。

我怎样才能a)删除系统通知,b)延长日志的长度,c)将日志传送到bash终端,这样我就可以对它进行“grep”,或者以任何其他方式获得更好的概述我自己的调试输出?

(例如,在Android上,您可以adb logcat -s MyApp仅查看来自MyApp的邮件)

这是一个淹没iPhone日志的东西的例子:

Dec 12 10:11:02  installd[31] <Error>: 0x2d5000 filter_attributes: Info.plist keys requested via MobileInstallationLookup/Browse in client Xcode (via mobile_installation_proxy) were not found in MobileInstallation's cache. Please file a bug requesting that these keys be added: <CFBasicHash 0x1d59e7a0 [0x3af630f0]>{type = mutable set, count = 18,
    entries =>
        0 : <CFString 0x3af4f9e4 [0x3af630f0]>{contents = "CFBundlePackageType"}
        1 : <CFString 0x1d59e650 [0x3af630f0]>{contents = "BuildMachineOSBuild"}
        2 : <CFString 0x3af50a34 [0x3af630f0]>{contents = "CFBundleResourceSpecification"}
        3 : <CFString 0x1d5713e0 [0x3af630f0]>{contents = "DTPlatformBuild"}
        4 : <CFString 0x3af4d784 [0x3af630f0]>{contents = "DTCompiler"}
        5 : <CFString 0x3af4f554 [0x3af630f0]>{contents = "CFBundleSignature"}
        6 : <CFString 0x3af50214 [0x3af630f0]>{contents = "DTSDKName"}
        7 : <CFString 0x1d580d60 [0x3af630f0]>{contents = "NSBundleResolvedPath"}
        8 : <CFString 0x3af4cea4 [0x3af630f0]>{contents = "UISupportedInterfaceOrientations"}
        10 : <CFString 0x3af54e74 [0x3af630f0]>{contents = "DTXcode"}
        13 : <CFString 0x3af54ea4 [0x3af630f0]>{contents = "CFBundleInfoDictionaryVersion"}
        16 : <CFString 0x3af522f4 [0x3af630f0]>{contents = "CFBundleSupportedPlatforms"}
        17 : <CFString 0x1d590660 [0x3af630f0]>{contents = "DTXcodeBuild"}
        18 : <CFString 0x1d59af70 [0x3af630f0]>{contents = "UIStatusBarTintParameters"}
        19 : <CFString 0x3af50e44 [0x3af630f0]>{contents = "DTPlatformVersion"}
        20 : <CFString 0x3af53be4 [0x3af630f0]>{contents = "DTPlatformName"}
        21 : <CFString 0x3af54c74 [0x3af630f0]>{contents = "CFBundleDevelopmentRegion"}
        22 : <CFString 0x1d599230 [0x3af630f0]>{contents = "DTSDKBuild"}
    }

1 个答案:

答案 0 :(得分:1)

非常好的问题!我强烈建议您使用这个伟大的工具:

如果你喜欢,请告诉我。 : - )