Xcode 4に切り替えて、Xcode 3で完全に機能するプロジェクトをロードしました。実行すると、次のようなエラーが表示されます。
ファイル「Info.plist」は、そのようなファイルがないため開くことができませんでした。
Xcodeでファイルを見たところ、そこにあります。なぜ開けられないのですか?
Xcodeプロジェクトフォルダーにファイルが存在するだけでは不十分です。アプリケーションターゲットのビルド設定でファイルが適切に参照されていることを確認したので、アプリケーションバンドルに適切にコピーされていますか?標準リソースとはまったく同じではありません(つまり、ターゲットメンバーシップチェックボックスのセットでターゲットのメンバーになりません)。しかし、適切にフォーマットされたバンドルで重要であるため、ビルド設定です。
プロジェクトに移動し(プロジェクトナビゲータで選択)、ターゲットのリストでアプリケーションターゲットを選択し、[ビルド設定]タブをクリックします。 [パッケージング]セクションで、[Info.plistファイル]が場所/ファイル名に適切に設定されていることを確認します。
ターゲットに行きます。テスト対象を右クリックします。 yourProjectTestsを削除します
私にとってこれは、plistファイルのローカライズを有効にした結果として発生しました(スプリングボード上のアプリの言語固有の識別子を提供するため)。
targets> build settings> packaging> info.plist file key iはパスをAppName/AppName-info.plist to AppName/Base.lproj/AppName-info.plist そして、すべてが期待どおりに機能しました。
覚えておいて、そのlprojは小さなLであり、首都Iではありません。
お役に立てれば。
しばらく経ちましたが、私は同じ問題に直面し、見つけた答えは私にはあまり明確ではなかったので、たくさんのスクリーンショットで指示を出すことにしました。
1)まず、xcodeで右側のパネルを開き、.plistファイルをクリックします。
2)次に、右側のパネルでRelative to project
ロケーションを選択し、そのすぐ下のリンクをコピーします。
3)3番目に、メインプロジェクト設定に移動し、ターゲットを選択して、[ビルド設定]タブをクリックします。
4)最後に、検索フィールドにInfo.plist
と入力し、既存のパスをダブルクリックして、以前にコピーしたリンクを貼り付けます。
最後に、プロジェクトShift
+ Cmd
+ K
を削除して再実行します。
xcode 4.6では、appname-Info.plistがプロジェクト-> target/infoの下に表示されていない場合は、概要タブに移動し、appname-Info.plistファイルを要求します。提案から正しいファイルを選択します。
「ターゲット」>「パッケージング」>「Info.plist」ファイルで、ファイルパスが正しいことを確認します。
この問題は私と同じように起こりました。プロジェクトを他のプロジェクトからマージすると、いくつかのプロジェクト設定が上記の2つで異なり、Text Editeでinfo.plistファイルを開き、conflctedを解決してから保存すると、すべてがうまくいきます!
私にとって問題は、エラーがプロジェクトの実際のInfo.plist
ファイルではなく、使用しているライブラリの.plist
を参照していることでした。
たぶん、これは将来誰かを助けるでしょう。
私の場合、ファイルはそこにありましたが、不正な形式です。 Info.plistをテキストエディタで最近編集した場合は、その変更を元に戻し、マークアップの有効性を損なうことなく再試行します。
私の場合、ATSコンプライアンスフラグの追加中にキーの1つが欠落していました
<key>NSAppTransportSecurity</key>
以下の正しいものの代わりに
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>some-service1.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
<key>some-service2.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
</dict>
</dict>
私はこれを持っていました
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>some-service1.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
<key>some-service2.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
</dict>
</dict>
オンラインのXMLバリデーターの一部はXMLが正しいと言っていましたが(正しくありませんでした)、私は
plutil filename.plist
(端末から)plistファイルが存在するディレクトリに移動し、問題があった正確な行番号を確認しましたReference:( https://stackoverflow.com/a/32494850/543824 )