web-dev-qa-db-ja.com

iOSのアーカイブ時にPhonegap CDVViewController.hファイルが見つからない

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

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

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

何か案は?

38
Reinaldo

Xcode 6.x

$(OBJROOT)/UninstalledProducts/includeをBuildSettings-> Header Search Pathsに追加します

Xcode 7.x

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/includeをBuildSettings-> Header Search Pathsに追加します

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

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

enter image description here

154
Allan

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

_header search paths_の下にあります_build settings_-> _search paths_

33
Hamid Tavakoli

なんとかそれを修正しました。

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

"$(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でのディスカッション

10
pablobart

今後の参照用:

私はこの問題を自分で直しました。

Cordova cliを使用していて、config.xmlを更新している場合は、iosをプラットフォームとして削除してから追加し直すことができます。次に、XCodeから再度アーカイブします。

cordova platform remove ios
cordova platform add ios

それが助けてくれて、私にとって完璧に働いてくれて、

6
eton_ceb

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

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

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

2

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

1
Lano

場合によっては、受け入れられた解決策は、同様ではあるがおそらく関係のない問題を抱えている全員を助けるとは限りません。

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

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

基本的に、ターゲット依存関係としてCordovaを再リンクし、それをライブラリにリンクする必要がありました。

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

  ___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フレームワークを追加して、ある程度の平和を確保してください。

1
Austin
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

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

XCodeビルド設定の検索パス

1
Brad Edwards

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

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

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

./update_cordova_subproject /path/to/your/project
0
KennyC

Xcode 7.2は少し異なります

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

デバッグ用およびリリース用のヘッダー検索パスに配置する必要があります。

Header search paths have a debug and release sub field

0
Carl Lewis