web-dev-qa-db-ja.com

Xcode 6ベータ3:無効な仮想ファイルシステムオーバーレイファイル

Xcode 6ベータ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.
29
Daniel Schlaug

以下を実行することで解決します:

  1. /[Long-path-goes-here]/all-product-headers.yamlを見つけます(Finderの[フォルダーに移動...])
  2. 内容を以下のコードに置き換えます。
  3. ファイルを保存してロックします。 (ファイルの情報を取得し、ロックされていることを確認してください。)

{ 'version': 0, 'case-sensitive': 'false', 'roots': [] }

この後Xcodeは、このエラーでファイルを書き込めないことについて文句を言いますこれは予期されたものであり、ビルドに影響を与えていないようです。 編集:ほとんどの人にとって。実行できない場合は、Defines Module in 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”.) 

Apple開発者フォーラム についてのディスカッション)に敬意を表します。また、CocoaPodsの課題追跡でこの 関連する問題です にアクセスしてください。

38
Daniel Schlaug

アプリのターゲットで「Defines Module = YES」を設定してみてください。私のプロジェクトで機能します。

14
jpsim

クリーン(command-shift-K)、およびクリーンビルドフォルダー(command-alt-shift-K)とビルドが再び機能しました。

11
Daniel

Macから古いアーカイブとファイルをいくつか削除して容量を増やしたため、この問題が発生しました。ただし、このプロジェクトでポッドインストールを実行すると解決しました。

5
Juan Pablo

おそらく、.yamlファイルへのパスに'文字が含まれています。パーサーを混乱させます。 TextWranglerを使用すると、パスの色が異なります(赤と黒)。

それが私のケースであり、プロジェクトを別のパス('を含まない)に移動すると問題が解決しました。

3
samthui7

現在のプロジェクトのDerivedDataフォルダーを(Xcode 8)で削除して解決しました:

Xcode> Preferences> Locationsタブ> DerivedDataの下にある右矢印をクリック>フォルダー内DerivedDataプロジェクトフォルダーを削除します。 Shift+Cmd+Alt+Kでもハードクリーンを実行することをお勧めします。そしてビルド。

2
Asi Givati

1つのシェルコマンドで修正できます。

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の回答を参照してください

1
josh-fuggle

私は上記/以下のすべての答えを試しました。どれもうまくいきませんでした。

ただし、Xcodeを再起動するとそれが行われました。

行方不明のファイルの実際の状況を修正しようとする狂気に入る前に、それを試してください。残りはすべて狂気です。ヘック、それがそれを修正しない場合。ここにリストされている戦略のいずれかを実行するたびに、再起動してみます。多分それらの1つはそれを修正しますが、Xcodeは再起動するまで行き詰まります。

他に何もする必要はありません。Xcodeはバグが多すぎることもあります。

0
Dan1one

このエラーが頻繁に発生するため、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
0
arsenius