更新到Xcode 6 beta 3后,编译器会因以下错误而崩溃:
/[Long-path-goes-here]/all-product-headers.yaml:4:13: error: Could not find closing ]!
'roots': [
^
fatal error: invalid virtual filesystem overlay file '/[Long-path-goes-here]/all-product-headers.yaml'
1 error generated.
答案 0 :(得分:38)
通过执行以下操作解决:
{
'version': 0,
'case-sensitive': 'false',
'roots': []
}
此 Xcode会抱怨关于无法使用此错误编写文件,这是预期的,似乎不会影响构建。 编辑对大多数人来说。如果它阻止您运行,请尝试停用目标Defines Module
中的Build Settings
:
Unable to write to file /Users/user/Library/Developer/Xcode/DerivedData/.. (You don’t have permission to save the file “all-product-headers.yaml” in the folder “Pods.build”.)
加入discussion on Apple Developer forums。此外,CocoaPods中的is the relevant issue问题跟踪器。
答案 1 :(得分:14)
尝试在应用目标中设置“定义模块=是”。适用于我的项目。
答案 2 :(得分:11)
Clean(命令移位-K)和clean-build-folder(命令-alt-shift-K)和build再次为我工作。
答案 3 :(得分:5)
我遇到了这个问题,因为我从mac中删除了一些旧的档案和文件,以腾出更多空间。但是,为此项目运行pod安装解决了它。
答案 4 :(得分:3)
。您的.yaml文件路径可能包含'
个字符。它使解析器感到困惑。使用TextWrangler,您可以看到您的路径有不同的颜色(红色和黑色)。
这是我的理由,将项目移动到另一条路径(不包含'
)解决了我的问题。
答案 5 :(得分:2)
我通过删除当前项目的DerivedData
文件夹(Xcode 8)来解决它:
Xcode
> Preferences
> Locations
标签>单击右下方的箭头
DerivedData
>在文件夹DerivedData
内删除项目文件夹。
最好通过Shift+Cmd+Alt+K
进行硬清洁。
并建立。
答案 6 :(得分:1)
可以使用一个shell命令修复:
echo "{\n\t'version': 0,\n\t'case-sensitive': 'false',\n\t'roots': []\n}" > /[Long-path-goes-here]/all-product-headers.yaml
将路径复制出Xcode错误。
请参阅Daniel Schlaug的背景信息答案
答案 7 :(得分:0)
我经常收到此错误,因此我根据Daniel Schlaug的回答制作了一个简单的bash脚本。我从来不需要锁定文件。只需复制错误日志中引用的文件,并将其用作唯一参数。在跑步之前不要忘记chmod +ux
。
#!/bin/bash
if [ "$#" -eq "0" ]
then
echo "No arguments supplied"
exit
fi
rm -rf $1
echo "
{
'version': 0,
'case-sensitive': 'false',
'roots': []
}" > $1
答案 8 :(得分:0)
我尝试了上面/下面的所有答案。没有用。
然而,重启Xcode做到了。
在尝试修复丢失文件的实际情况之前尝试一下。其余的都是疯狂的。哎呀,如果那还没有解决的话。我甚至会在每次执行此处列出的策略之一时尝试重新启动。也许其中一个修复了它,但Xcode被卡住,直到你重新启动它。
没有别的事情可做,Xcode有时太麻烦了。