Swift 在哪里可以找到;日志Dyld API使用情况“;及;“日志库加载”;在XCode 11上?

Swift 在哪里可以找到;日志Dyld API使用情况“;及;“日志库加载”;在XCode 11上?,swift,ios13,xcode11,dyld,dynamic-loading,Swift,Ios13,Xcode11,Dyld,Dynamic Loading,我想在XCode控制台中禁用日志动态加载程序事件(dyld)的打印。我找到了解决办法。 但是我在XCode 11的产品方案诊断中找不到日志Dyld API用法和日志库加载选项。请帮我找到它们 PS:如果Xcode11中有一个新的进程用于禁用日志,请告诉我 回答:下面的答案中建议了这种分步解决方案。我只是附上这张照片以便更好地理解 动态装载机 有人会说,您可以设置环境变量,如DYLD\u PRINT\u api=0,DYLD\u PRINT\u api=false,DYLD\u PRINT\

我想在XCode控制台中禁用日志动态加载程序事件(dyld)的打印。我找到了解决办法。 但是我在XCode 11的产品方案诊断中找不到日志Dyld API用法日志库加载选项。请帮我找到它们

PS:如果Xcode11中有一个新的进程用于禁用日志,请告诉我

回答:下面的答案中建议了这种分步解决方案。我只是附上这张照片以便更好地理解

动态装载机
有人会说,您可以设置环境变量,如
DYLD\u PRINT\u api=0
DYLD\u PRINT\u api=false
DYLD\u PRINT\u api=no
。。。但它不是这样工作的。检查:

else if(strcmp(键,“DYLD\u PRINT\u api”)==0){
gLogAPIs=true;
}
换句话说,当变量存在时,
gLogAPIs
true
。您可以将它设置为任何值,保持为空,如果变量存在,它将始终处于启用状态

Xcode方案 此设置的UI已在Xcode 11中消失,但仍可以在方案文件中。假设您有一个简单的项目
Foo
。该方案位于
Foo/Foo.xcodeproj/xcshareddata/xcschemes/Foo.xcscheme
1)。这是一个XML文件。退出Xcode并在任何编辑器中打开此文件,然后搜索
LaunchAction
元素

将有:

  • LaunchAction
    元素属性,如
    enabledAddressSanitizer=“YES”
    2)或
  • DYLD\ux…
    环境变量集
只要删除这个属性/环境变量,就可以了


1) 确切的路径可能会有所不同,因为它可以将方案包括在工作区、项目等中

2) 我没有安装以前版本(10)的Xcode,无法检查确切的名称,但它应该在那里,很明显它是哪一个。我使用的这个是地址消毒器复选框。如果你找到确切的名字,让我知道,我会更新这个答案,或者自己回答,我会删除这个


更新

上面的说明帮助OP找到确切的XML元素名称。必须删除:

  • LaunchAction/AdditionalOptions/AdditionalOption
    元素
  • 其中,
    DYLD\u PRINT\u库
    和/或
    DYLD\u PRINT\u api

请不要在24小时内问。如果您想添加更多信息,请澄清它,将其缩小到仅限Xcode 11,只需编辑它。感谢您提供的详细解释。我在
project.xcodeproj
文件下找到了
xcschemes
(我在
project.xcodespace
下没有找到它们)。从终端打开
文件.xcscheme
,并删除
下的
,而不是删除
。现在,所有日志动态加载程序事件(dyld)都停止在控制台中打印。