今天是我第一次尝试 - 并且失败 - 象征着新买的MacBook上的崩溃日志(我们称这台机器为MB1).MB1预装了Mac OS X 10.9.我将跟踪失败符号的问题跟踪到Spotlight没有索引我的任何.dSYM捆绑包(没有Spotlight索引,Apple的symbolicatecrash脚本无法找到.dSYM与崩溃日志匹配的捆绑包).我得出了我的结论,因为
mdfind "com_apple_xcode_dsym_uuids == *"
Run Code Online (Sandbox Code Playgroud)
不打印任何东西,虽然.xcarchive我的~/Library/Developer/Xcode/Archives文件夹中有几个包,但它们肯定包含.dSYM我可以打印的UUID的子包dwarfdump --uuid.我的.dSYM项目的构建文件夹(DerivedData)中也有几个包,但它们都没有被编入索引.
因此,简单易行的问题是:如何告诉Spotlight索引我的.dSYM包?
如果这个简单的问题没有简单的答案,这就是我在MB1上已经尝试过的:
~/Library/Developer/Xcode/Archives(它们都没问题,文件夹为755,文件为644)mdimport ~/Library/Developer/Xcode/Archives(没有效果)~/Library/Developer/Xcode/Archives文件夹(也没有效果)mdutil -s /是否为卷启用了索引(它是)mdutil -E /(大概需要10-15分钟,但仍然没有效果)详细说明:在切换到MB1之前,我有一台较旧的MacBook(让我们称之为机器MB2),这是我的开发机器.在MB2上,我从未遇到任何象征性问题.MB2安装了Mac OS X 10.8,而我还在积极开发它,但我最近将MB2升级到Mac OS X 10.9.
今天,mdfind在MB2上运行仍然给了我很多.dSYM捆绑包,包括Archives文件夹和项目的DerivedData构建文件夹.这些都是来自Mac OS X 10.8天的旧文件,但显然Spotlight在操作系统升级中保留其索引.我认为在创建新文件时看看Spotlight的行为会很有趣,所以我做了以下事情:
mdfind.这会.dSYM在DerivedData构建文件夹中找到中间包. …