2013-10-28 16 views
23

xcodeでレンガの壁にぶつかってInfo.plistファイルを解析したくない。私は以前にバックアップしたファイルの古い(同一の)バージョンでファイルを何回か置き換えましたが、私はまだ同じエラーが発生しています。私はこの1つ上の無知だXcode「Info.plistの内容を解析できません」

couldn't parse contents of '/Users/...Info.plist': The data couldn’t be read because it isn’t in the correct format. 

:ここ

は、完全なエラーメッセージです。私はxCode 5.0.1、マーベリックスを使用しています

答えて

2

ファイルをバックアップに置き換えた後、オーガナイザでプロジェクトの派生データを削除するように見えました。後で他の人に役立つことを願っています。

+0

plistファイルとプロジェクトファイルを置き換えようとしましたが、まだエラーが発生しています。 ugh! – ganders

+0

これも私の問題を修正しました。 – Tander

10

この問題のもう1つの原因は、app-Info.plistにURL(実際はスラッシュなど)を入れようとすることによるものです。

プロジェクトビルド設定でInfo.plist Other Preprocessor Flagsオプション内の-traditionalフラグを単に上げるだけで回避できます。

enter image description here

+2

OMGですが、私の問題は解決しました!ありがとうございました!!私の場合、Sparkle SUFeedURLを私のplistに持っていて、明らかにプリプロセッサを傷つける原因になっていました。 '-traditional'のドキュメントはどこにありますか?それはどういう意味ですか? – nevyn

1

iOS用ビルドする場合のデフォルトの向きが自動回転に設定されるたびに、Info.plistファイルが壊れている可能性があります。 Info.plistファイルは、この時点でのXcodeプロジェクトをビルドするために失敗した...最初のビルドで正常に作成されたが、その後は中...

<key>UIInterfaceOrientation</key> 
<string></string> 
</string> 

結果を構築しています。

+0

ファイルを削除して再生成する以外にも、これに対する修正がありますか? – Andrew

0

同じエラーが発生していて、Info.plistの値としてURL(例:http://example.com/something)を持っていて、ちょうどその前処理がオンになっていたことが分かりました(-traditionalフラグなし) 。明らかに、Xcodeは//をコメントマーカーとして扱い、残りの行は省略します。

回避策私が見つけたので同じように、事前にプロセッサを採用することである: http:/${}/example.com/something、それはXcodeのにコメントのように見えないように途中で空の文字列の変電所を置くことによって//を分割しています、前処理後は通常のURLに戻ります。

2

git mergeで競合が発生したときに私は個人的にファイルを破壊しました。 .plistはXMLファイルであり、gitの競合が追加されました< < < <とそこに>>>>という違いがあります。

(プロジェクトのフォルダの1つにある)Finderで.plistファイルを探します。それをテキストエディタで開き、適切なXMLのように見えない行を見つけ出し、それらを削除して、重複したXML行/ノードを削除してください。

45

これは、エラーが発生している行を検出する最善の方法の1つです。

ちょうどそのterminal-にこのコマンドを記述plistファイルが存在するディレクトリを行く>

plutil filename.plist 
+3

私はSOが感謝の疲れていることを知っていますが、この小さなチップはちょうど私の一日を作った!私は最終的にテキストエディタでマージインジケータを見つけたでしょうが、ユーティリティがそれを正しく指摘しました!ありがとうございました! –

+0

完璧な答え。コマンドを実行すると、それは私に回線番号を与えました。 xcodeを通して、plistを右クリックし、ソースコードとしてオープンして行に行きました。バンドル番号が2回繰り返されたことが判明しました。だから私は1つを取り除いた。きれいにして建てる。プロジェクトは正常に実行されました。 – TharakaNirmana

+0

あなたのplistが有効なxmlになることができますが、依然として無効なplistであるので、これは特に便利です – Lewis42

2

私はあなたがソース管理ツールを使用している、あなたがするのXcodeせずに、基本的なテキスト編集ツールを使用することができると思います

<<<<<<< .mine 

>>>>>>> .r605 

正しい文字列を選択し、DELET:あなたはおそらくのようなエラー文字列がわかります、 "< < < < <" または ">>>>>" を見つけるために、このplistの、コマンド+ Fを開きますeもう一方のエラーは解決されます!

-2

@Vizllxのやり方によると、同じエラーが発生しましたが、それでもエラーです。それから、私は崇高なテキストを使ってinfo.plistを開き、コードの衝突を発見しました。

関連する問題