4

Xcode4.5.2のCordova/Phonegapのバージョン2.2でこの問題が発生しています。これは新しいプロジェクトです。そのため、フォルダ内の何も変更せずにすぐに使用できます。デバッグモードでビルドすると、すべてうまくいきます。配布モード(AdHocまたはApp Store)でアーカイブ用にビルドしようとすると、次のエラーが発生します。www

'Cordova/CDVViewController.h' file not found

状況を明確にするために投稿できる情報はありますか?

私は(私が尋ねたいくつかの同様の質問の提案に従って)最初から数回始めて、そして適切な手段のためにXcodeをアンインストールして再インストールすることを試みました。私のXcode派生データの場所は(別の同様の質問のように)一意に設定されています。私もupdate_cordova_subprojectこのプロジェクトに何の効果もありませんでした。

ここで助けてくれてありがとう!

4

4 に答える 4

8

私は数週間前に同じ問題を抱えていました。これの原因と解決策を見つけるためにいくつかの調査を行いましたが、最終的には別のアプローチを試しましたが、突然、ランダムに機能しました。正確に機能した理由-わかりませんが、トレイルアンドエラーアプローチを試して、次のことを試してみることをお勧めします

提案された解決策を、関連性(問題を解決する可能性)と複雑さ(昇順)の順に以下にリストしました。

アプローチ1

BuildSettings >ヘッダー>検索パスに移動し、次の行を追加します。

$(OBJROOT)/UninstalledProducts/include

詳細/提案はここにあります

アプローチ2

何らかの理由で、Cordovaの新しい2.xバージョンにアップグレードすると、Cordovaの依存関係が失われたように見えます。これは、Cordova2.xがiOSプロジェクトでのフレームワークの参照方法を変更したことが原因であると考えられます。この記事の手順に従ってください

アプローチ3

A1とA2で問題を解決できない場合、表示されるエラーメッセージは多少誤解を招く性質のものである可能性があり、他の潜在的な原因に対する代替アプローチを検討する必要があります。次に調べる場所は、証明書とコード署名IDです。キーチェーン/xcodeからそれらを削除し暫定ポータル内からそれらを取り消し新しいものを再作成して、Xcodeプロジェクトに追加してみてください。アーカイブを試して、それが機能するかどうかを確認してください。

アプローチ4

メインプロジェクトCordovaLib.xcodeprojの両方がアクティブアーキテクチャのみをビルドするように設定されていることを確認してください

その他の提案

これらの1つ以上を試した可能性がありますが、念のために

  1. 新しいインストールからcordovaを再インストールし、コマンドラインツールを最新バージョンのXcodeに明示的にインストールします(これを行う前にXcodeを終了します)
  2. 現在含まれているものをすべて削除した後、古いプロジェクトのwwwフォルダーを新しいコマンドラインで作成されたwwwフォルダーにコピーします
  3. 実行中はエラーコンソールを監視し、この問題の原因を特定するのにさらに役立つ可能性のあるエラーがあるかどうかを確認してください。

これらの提案された解決策のどちらもあなたの問題を解決しなかった場合は、私に知らせてください。それなら、実用的な解決策が見つかるまで、さらに深く掘り下げる必要があります。

于 2012-12-19T01:22:39.917 に答える
8

Xcode 6.x

$(OBJROOT)/UninstalledProducts/includeBuildSettings-> HeaderSearchPathsに追加します

Xcode 7.x

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/includeBuildSettings-> HeaderSearchPathsに追加します

それは私のために働いています。それがあなたを助けることができることを願っています。

于 2015-10-24T03:28:29.210 に答える
2

私が見つけたすべての解決策(この質問のためにジョナサンが投稿したものを含む)を試した後、成功せずに問題を解決しました。うまくいけば、他の人のリストに追加されたこの答えが他の人を助けるでしょう。私の答えがあなたの同様の状況に当てはまらない場合は、他の可能な解決策の包括的なリストである、ジョナサンによって投稿された以下のリストをチェックしてください。

私のやや独特な状況:2.0より前のバージョンのPhonegap(コンパイルできたとき)では、AdHocとAppStoreのカスタムビルド構成を作成していました。デフォルトは「デバッグ」と「リリース」で、2つのカスタム構成が作成されたため、AppStoreリリースからAdHocビルドに切り替えたときにコード署名証明書を切り替える必要はありませんでした。

問題/解決策:ポスト2.0 Phonegapには、CordovaLib.xcodeprojサブプロジェクトのインスタンスがあります(これは新しいです)...つまり、メインプロジェクトでカスタムビルドを使用する場合は、そのカスタムを追加する必要がありますこのサブプロジェクトでも構成をビルドします。

プロジェクトナビゲータ>>CordovaLib.xcodeprojをクリックします>>プロジェクトCordovaLibをクリックします>>構成>>使用するビルドがこのリストに(名前で)存在することを確認します。過去にこれらのカスタムビルド構成を作成したメインプロジェクトでこれをすでに処理している場合は、これ以上の構成は必要ありません。

于 2012-12-22T15:42:39.477 に答える
0

xcode4.6.2でCordova2.7.0を使用しているときにこの問題が発生し、派生データのビルド場所の設定を変更して修正しました。

xcode->preferencesに移動します。派生データの下の[Advanced]ボタンをクリックします。一意を選択します。

この問題が発生した理由は、古いプロジェクトの新しい「バージョン」をxcodeで新しいプロジェクトとして再起動し、それを作成した後、バンドルIDを古いプロジェクトと一致するように変更したためです(これにより、新しいプロジェクトを送信できます)アプリストアの古いプロジェクトの更新としてのプロジェクト)。派生データのデフォルト設定はレガシーであったため、新しいバンドル識別子ではなく、元のバンドル識別子を使用してcordovaファイルを検索していました。

これが似たようなものに遭遇するかもしれない誰かを助けることを願っています

于 2013-06-01T06:02:15.293 に答える