38

現在、Phonegap 2.0 を使用して、XCode で iOS アプリを開発しています。アプリは、エミュレーターとテスト デバイスで正常にビルドおよび実行されます。

配布用にアプリをアーカイブしようとすると、問題が発生します。アーカイブは次のメッセージで失敗します。

CDVViewController.h ファイルが見つかりません。

何か案は?

4

10 に答える 10

154

Xcode 6.x

$(OBJROOT)/UninstalledProducts/includeBuildSettings->Header Search Paths に追加

Xcode 7.x

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/includeBuildSettings->Header Search Paths に追加

1. をダブルクリックする<multiple values>と、これを追加できます。

2.$(OBJROOT)/UninstalledProducts/includeに変更$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

ここに画像の説明を入力

于 2012-09-26T07:45:54.527 に答える
33

Xcode 7.1header search pathsでは、フィールドを から$(OBJROOT)/UninstalledProducts/includeに更新する必要があります。$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

header search pathsあなたは下に見つけることができますbuild settings- >search paths

于 2015-10-23T01:00:31.137 に答える
10

それを修正することができました。

これらは、ターゲット設定のビルド設定の「ヘッダー検索パス」にありませんでした:

"$(TARGET_BUILD_DIR)/usr/local/lib/include"
"$(OBJROOT)/UninstalledProducts/include"
"$(BUILT_PRODUCTS_DIR)"

複数のソースからソリューションを取得します。

Cordova iOS のアップグレード (31 からのステップ) http://docs.phonegap.com/en/2.0.0/guide_upgrading_ios_index.md.html#Upgrading%20Cordova%20iOS

バグレポートhttps://issues.apache.org/jira/browse/CB-1122

groups.google.com/forum/?fromgroups=#!topic/phonegap/IcR8-ijrUfk でのディスカッション

groups.google.com/forum/?fromgroups=#!topic/phonegap/PzqZEm8QKmc でのディスカッション

于 2012-10-24T16:14:43.950 に答える
2

私はまったく同じ問題を経験していました。Cordova のツールで作成した Xcode プロジェクトの場所を移動したため、導入された可能性があると思います。または、Cordova iOS ツールセットを適切にセットアップしなかった可能性もあります。おそらく、インストーラー パッケージを実行していませんでした (このマシンを数回再構築しました)。また、Google で見つけたすべての関連する回答は、Cordova のコア クラスの一部を変更する必要があることを示唆していましたが、これは私が望んでいませんでした。

私の解決策は、Cordovacreateコマンドを使用して、まったく新しい Xcode プロジェクトを構築することでした。元のプロジェクトのディレクトリを新しいプロジェクトにコピーしてから、元のプロジェクトのwww設定と一致するように新しいプロジェクトを再構成しました。

同じプラグイン、フレームワーク、およびビルド設定を使用する新しいプロジェクトは、アーカイブを正常にビルドしましたが、元のプロジェクトはできませんでした。これは理想的な解決策ではありませんが、うまくいきました。

于 2012-09-05T19:47:14.573 に答える
1

よくあることですが、受け入れられた解決策が、同様の、おそらく関連のない問題を抱えているすべての人に役立つとは限りません。

私の観察結果も同様でした (CDVViewController.h が見つかりません)。最初に、上記のように TARGET 設定に「ヘッダー検索パス」が含まれていることを確認します。

次に、私のために働いたものへのこのリンクに従ってください: http://outof.me/embedding-cordovalib-in-your-iosphonegap-app-project/

基本的に、コルドバをターゲットの依存関係として再リンクしてから、ライブラリにリンクする必要がありました。

次に、cordova 2.5.0 に移行した場合、次のような問題が発生する可能性があります。

  ___23-[CDVFile getMetadata:]_block_invoke in libCordova.a(CDVFile.o)

  ___27-[CDVFile getFileMetadata:]_block_invoke in libCordova.a(CDVFile.o)

「_OBJC_CLASS_$_ALAssetsLibrary」、次から参照:

  objc-class-ref in libCordova.a(CDVFile.o)

  objc-class-ref in libCordova.a(CDVFileTransfer.o)

  objc-class-ref in libCordova.a(CDVURLProtocol.o)

"

os の場合は、AssetLibrary フレームワークを追加して、平和を保ちます。

于 2013-03-15T05:09:18.760 に答える
1
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

これを「ビルド設定」の「検索パス」セクションに追加すると、完全に機能します。

XCode ビルド設定の検索パス

于 2015-10-30T14:02:55.590 に答える
1

プロジェクトを別のフォルダーにコピーするときに、同じ問題に直面していました。Phonegap 2.0.0 を使用しています。成功しなかったいくつかのソリューションを試した後、Product->Clean を実行すると、すべてが正常に機能しました。理由は聞かないでください。このパスは、私が対処しなければならなかったいくつかの小さな問題、つまり、デバイスで更新されなかったスプラッシュ ファイルとアイコン ファイルの変更を既に解決しました。この助けを願っています。

于 2012-11-21T22:05:11.567 に答える
0

CordovaLib サブプロジェクトの参照を更新する必要がある場合があります。

ターミナルの起動 bin サブフォルダー内の Cordova をインストールした場所に移動します。例えば、/Users/Shared/Cordova/phonegap-2.2.0/lib/ios/bin

以下のコマンドを実行します。最初のパラメーターは、プロジェクトの .xcodeproj ファイルへのパスです。

./update_cordova_subproject /path/to/your/project
于 2013-05-17T03:28:18.063 に答える