現在、Phonegap 2.0 を使用して、XCode で iOS アプリを開発しています。アプリは、エミュレーターとテスト デバイスで正常にビルドおよび実行されます。
配布用にアプリをアーカイブしようとすると、問題が発生します。アーカイブは次のメッセージで失敗します。
CDVViewController.h ファイルが見つかりません。
何か案は?
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
Xcode 7.1header search paths
では、フィールドを から$(OBJROOT)/UninstalledProducts/include
に更新する必要があります。$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
header search paths
あなたは下に見つけることができますbuild settings
- >search paths
それを修正することができました。
これらは、ターゲット設定のビルド設定の「ヘッダー検索パス」にありませんでした:
"$(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 でのディスカッション
私はまったく同じ問題を経験していました。Cordova のツールで作成した Xcode プロジェクトの場所を移動したため、導入された可能性があると思います。または、Cordova iOS ツールセットを適切にセットアップしなかった可能性もあります。おそらく、インストーラー パッケージを実行していませんでした (このマシンを数回再構築しました)。また、Google で見つけたすべての関連する回答は、Cordova のコア クラスの一部を変更する必要があることを示唆していましたが、これは私が望んでいませんでした。
私の解決策は、Cordovacreate
コマンドを使用して、まったく新しい Xcode プロジェクトを構築することでした。元のプロジェクトのディレクトリを新しいプロジェクトにコピーしてから、元のプロジェクトのwww
設定と一致するように新しいプロジェクトを再構成しました。
同じプラグイン、フレームワーク、およびビルド設定を使用する新しいプロジェクトは、アーカイブを正常にビルドしましたが、元のプロジェクトはできませんでした。これは理想的な解決策ではありませんが、うまくいきました。
よくあることですが、受け入れられた解決策が、同様の、おそらく関連のない問題を抱えているすべての人に役立つとは限りません。
私の観察結果も同様でした (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 フレームワークを追加して、平和を保ちます。
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
これを「ビルド設定」の「検索パス」セクションに追加すると、完全に機能します。
プロジェクトを別のフォルダーにコピーするときに、同じ問題に直面していました。Phonegap 2.0.0 を使用しています。成功しなかったいくつかのソリューションを試した後、Product->Clean を実行すると、すべてが正常に機能しました。理由は聞かないでください。このパスは、私が対処しなければならなかったいくつかの小さな問題、つまり、デバイスで更新されなかったスプラッシュ ファイルとアイコン ファイルの変更を既に解決しました。この助けを願っています。
CordovaLib サブプロジェクトの参照を更新する必要がある場合があります。
ターミナルの起動 bin サブフォルダー内の Cordova をインストールした場所に移動します。例えば、/Users/Shared/Cordova/phonegap-2.2.0/lib/ios/bin
以下のコマンドを実行します。最初のパラメーターは、プロジェクトの .xcodeproj ファイルへのパスです。
./update_cordova_subproject /path/to/your/project