現在、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.1では、_header search paths
_フィールドを$(OBJROOT)/UninstalledProducts/include
から$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
に更新する必要があります
_header search paths
_の下にあります_build settings
_-> _search paths
_
なんとかそれを修正しました。
これらは、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でのディスカッション
今後の参照用:
私はこの問題を自分で直しました。
Cordova cliを使用していて、config.xmlを更新している場合は、iosをプラットフォームとして削除してから追加し直すことができます。次に、XCodeから再度アーカイブします。
cordova platform remove ios
cordova platform add ios
それが助けてくれて、私にとって完璧に働いてくれて、
私はまったく同じ問題を経験していました。 Cordovaのツールを使用してXcodeプロジェクトを作成した後、Xcodeプロジェクトの場所を移動したため、導入された可能性があります。または、Cordova iOSツールセットを適切にセットアップしなかった可能性もあります-インストーラーパッケージを実行しなかった可能性があります(このマシンを数回再構築しました)。また、Googleで見つけた関連するすべての回答から、Cordovaのコアクラスの一部を変更する必要があることが示唆されました。
私の解決策は、Cordova create
コマンドを使用してまったく新しいXcodeプロジェクトをビルドすることでした。元のプロジェクトのwww
ディレクトリを新しいプロジェクトにコピーし、元のプロジェクトの設定と一致するように新しいプロジェクトを再構成しました。
同じプラグイン、フレームワーク、およびビルド設定を使用する新しいプロジェクトは、元のプロジェクトではできなかったアーカイブを正常に作成しました。これは理想的なソリューションではありませんが、うまくいきました。
プロジェクトを別のフォルダーにコピーするときに同じ問題に直面していました。 Phonegap 2.0.0を使用しています。成功せずにいくつかのソリューションを試した後、Product-> Cleanを実行し、すべてが正常に機能しました。理由を聞かないでください。しかし、このパスはすでに対処しなければならないいくつかの小さな不具合、つまり、デバイスで更新されていないスプラッシュファイルとアイコンファイルの変更をすでに解決しています。この助けを願っています。
場合によっては、受け入れられた解決策は、同様ではあるがおそらく関係のない問題を抱えている全員を助けるとは限りません。
私の観察は同様でした(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フレームワークを追加して、ある程度の平和を確保してください。
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
これを「ビルド設定」の「検索パス」セクションに追加すると、完全に機能します。
CordovaLibサブプロジェクト参照を更新する必要がある場合があります。
ターミナルの起動binサブフォルダーにCordovaをインストールした場所に移動します。例えば、 /Users/Shared/Cordova/phonegap-2.2.0/lib/ios/bin
以下のコマンドを実行します。最初のパラメーターは、プロジェクトの.xcodeprojファイルへのパスです。
./update_cordova_subproject /path/to/your/project
Xcode 7.2は少し異なります
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
デバッグ用およびリリース用のヘッダー検索パスに配置する必要があります。