Xcode Symbol navigator - iOS 设备和 iOS 模拟器的符号显示两次

Posted

技术标签:

【中文标题】Xcode Symbol navigator - iOS 设备和 iOS 模拟器的符号显示两次【英文标题】:Xcode Symbol navigator - Symbols displayed twice once each for iOS device and iOS Simulator 【发布时间】:2018-04-27 08:01:50 【问题描述】:

Xcode 符号导航器列出了框架提供的符号两次; ios 和模拟器各一次。

例如,这里是为模拟器列出的 NSObject

NSObject 为 iOS 设备列出

同样,这里为模拟器列出了 UIDevice

UIDevice 为 iOS 设备列出

我记得,以前从来没有这种情况。这些符号应该只列出一次。

我正在使用 Xcode 版本 9.3 (9E145),在 ma​​cOS High Sierra 10.13.4 (17E202) 上运行

更新:我正在使用 Xcode 版本 9.4.1 (9F2000),在 ma​​cOS High Sierra 10.13.5 (17F77) 上运行(在撰写本文时,它们都是最新的)。

如何恢复每个符号仅显示一次的默认行为?

我已经试过了:

清理构建文件夹,

重启 Xcode,

删除派生数据

重新启动系统。

重新安装 Xcode。

在我使用 Xcode 打开的每个项目中都会观察到这种行为。

【问题讨论】:

这是否发生在同一台计算机上的其他用户帐户中?你能刷新 Xcode 首选项吗? 我的系统中只有一个用户帐户。让我创建一个新帐户并尝试。 在新创建的用户帐户中没有发生。 如我所想。你愿意刷新 Xcode 设置 plist(可能在 ~/Library/Preferences 中)吗?如果是这样复制到您的桌面以防万一出现问题。 你能试试this吗?这里有一点万岁玛丽。 【参考方案1】:

由于问题仅出现在您的用户帐户上,请尝试:

    刷新 Xcode 首选项 plist 文件 ~/Library/Preferences/com.apple.dt.Xcode.plist。 (警告:这将重置所有自定义用户首选项)。

    从here 运行以下重置脚本:

    #!/bin/bash
    killall Xcode
    xcrun -k
    xcodebuild -alltargets clean
    rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
    rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang.$(whoami)/ModuleCache"
    rm -rf ~/Library/Developer/Xcode/DerivedData/*
    rm -rf ~/Library/Caches/com.apple.dt.Xcode/*
    open /Applications/Xcode.app
    

很可能某些设置已打开,您不知道如何关闭。如果您想弄清楚究竟是什么设置,您可以比较这些 plist。

【讨论】:

以上是关于Xcode Symbol navigator - iOS 设备和 iOS 模拟器的符号显示两次的主要内容,如果未能解决你的问题,请参考以下文章

Xcode PhoneGap navigator.connection 未定义

xcode 13.3.1 模拟器编译 Undefined Symbol: _RCTRegisterModule等问题

xcode 13.3.1 模拟器编译 Undefined Symbol: _RCTRegisterModule等问题

如何将 TabBar + Navigation 与 XCode 结合使用

Xcode 4.2, Three20 on iOS 3.0 Symbol not found: _OBJC_CLASS_$_UISplitViewController

Xcode 5 未在 Debug Navigator 中显示 iCloud