web-dev-qa-db-ja.com

Xcode「Info.plistのコンテンツを解析できません」

Info.plistファイルを解析したくないxCodeでレンガの壁にぶつかりました。以前にバックアップしたファイルの古い(同一の)バージョンでファイルを数回置き換えましたが、まだ同じエラーが表示されます。

完全なエラーメッセージを次に示します。

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、Mavericksを使用しています

32
jhilgert00

ファイルをバックアップで置き換えた後、オーガナイザーでプロジェクトの派生データを削除することが解決策のように見えます。これが後で他の誰かを助けることを願っています。

2
jhilgert00

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

Plistファイルが存在するディレクトリに移動し、端末でこのコマンドを記述します->

plutil filename.plist
67
Vizllx

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

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

enter image description here

14
capikaw

ソース管理ツールを使用したことがあると思います。Xcodeなしで基本的なテキスト編集ツールを使用してこのplistを開き、コマンド+ Fで「<<<<<」または「>>>>>」を見つけることができます。次のようなエラー文字列を見つけます。

<<<<<<< .mine

>>>>>>> .r605

正しい文字列を選択し、他の文字列を削除すると、エラーが解決します!

4
Immanito

Git mergeが競合を引き起こしたとき、私は個人的にファイルを台無しにしました。 .plistはXMLファイルであり、Gitの競合が<<<<と>>>>に追加され、差異にタグが付けられます。

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

2
Surpher

IOS用にビルドする場合、デフォルトの向きが自動回転に設定されていると、Info.plistが破損する場合があります。 Info.plistファイルは最初のビルドで適切に作成されますが、その後のビルドの結果は...

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

...この時点で、Xcodeはプロジェクトのビルドに失敗します。

1
Jason King

同じエラーが発生していましたが、URLがあることが問題であることがわかりました(例:http://example.com/something)をInfo.plistの値として使用し、その前処理をオンにしました(-traditional 国旗)。どうやらXcodeは//をコメントマーカーとして使用し、残りの行を省略します。

私が見つけた回避策は、次のようにプリプロセッサを採用することです:http:/${}/example.com/something、これは//中間に空の文字列サブステーションを配置することにより、Xcodeへのコメントのように見えませんが、前処理後は通常のURLに戻ります。

0
Kelan