IOSでは、7.2を更新します。既存のプロジェクトを問題なくデバイスにビルドできます。しかし、プロジェクトをアーカイブしてアプリストアに提出する準備をするときが来たとき、ビルドエラーが発生しました-Cordova/CDVViewController.hファイルが見つかりません。 Stack OverflowとGoogleを見つけられなかったすべての修正/回避策を試しましたが、どれも私のために機能していません。 Xcode 6.4に戻ると、問題なくビルドおよびアーカイブできますが、iOS 9.1を実行しているため、デバイスにビルドできません。
新しいXcodeバージョンのセットアップのどこかの設定の問題だと思います。他の誰かがこれに遭遇しましたか?繰り返しますが、通常の容疑者([設定]> [場所]> [派生データ]> [詳細]> [一意])、ヘッダー検索パスなどはすべて問題ないようです。
ありがとう、アディシェシュ
この問題は、検索パス/インクルードが原因でXcode 7.2で発生するようです。
これを次の方法で解決します。
Xcodeで[projectName]
を選択しますターゲット。
ビルド設定タブに移動します。
フィルターが「基本」ではなく「すべて」に設定されていることを確認してください。
「ヘッダー検索パス」を検索
ダブルクリックして、このパスを「デバッグ」と「リリース」の両方に追加します:$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
ここでcleanプロジェクトとrestart Xcode。
BuildおよびArchiveを作成できます。
それで全部です。
成功せずにすべてのソリューションを試した後、私は走りました:
cordova platform update ios
これは私のためにそれを修正しました。 (XCODE 7.3.1、Cordova 6.3.0)
参照: CordovaアプリがXcode 7.1でアーカイブに失敗する(Cordova/CDVViewController.hファイルが見つかりません)
この行を追加する場合:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
headers-search-pathに対する(「im3r3k」の回答で説明されているように)この問題は修正されず、これも設定されます。
Build Settings -> Architectures -> Build Active Architecture Only -> YES
プロジェクトのCordova iOSバージョンを .9.2 (3/11/16現在の最新バージョン3)に更新する必要があります。 3.8.0を使用したときに同じエラーが発生し、3.9で修正されました。
または、Cordova iOSにアップグレードすることもできます v4.1. (3/11/16の時点でEdgeの出血)、iOS 6および7、およびcordova-plugin-screen-orientationのサポートが失われることに注意してください- まだ4を使用するように更新されていません そのため、アプリを縦向きまたは横向きにロックする必要があります。
編集:
アップグレードせずに、XCodeでこれを手動で修正できます。に行きます
ビルド設定->ヘッダー検索パス:変更:
$(OBJROOT)/UninstalledProducts/include
に:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
( Apache.orgの関連問題 )
これは私のためにそれを修正しました:
私にとっては、$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
はすでにHeader Search Pathsにありました(El CapitanでXCode 8を使用)。その後、ser Header Search PathsCordovaLib
フォルダーへの特定のパスを追加し、recursive
オプションを有効にします(私のような未経験のXCodeユーザーの場合、ツリービュー(1番目のノード)でプロジェクトを選択して表示します「ビルド設定」 !!)
ただし、スペースには注意してください!多くの欠落があった後、Finderウィンドウからフォルダをドラッグするだけで安全になり、$(SRCROOT)/..
(続き)になりました。
また、XCode/Preferences/Locations/Custom Paths
にも、同じ方法で、以前と同じフォルダーにCORDOVALIBの名前を追加しました(今回は、$(SRCROOT)
なしでフルパスが使用されました)。
すべてを理解するのにかなりの時間を費やしました...
この問題もありましたが、ヘッダー検索にパスを追加するだけでは不十分でした。サブプロジェクトの「パブリック」セクションにCDVViewController.hを追加しましたCordovaLib.xcodeproj-> CordovaLib(target)-> Build Phases-> Headers-> Public
上記の解決策は私にはうまくいきませんでした。
In my case, when I build my iOS platform, CordovaLib folder was not included.
1. Delete existing CordovaLib.xcodeproj
2. Add existing files. Add CordovaLib.xcodeproj from CordovaLib folder
3. Add dependencies and select CordovaLib
4. Add link Binaries with library and select libCordova.a
それでおしまい!
Xcode 7.3を使用していて、同じ問題が発生していました。私の場合、エラーは「cordova platform add ios」の実行中に発生したエラーによるもので、resフォルダーに画像が見つからなかったためエラーが発生し、cordova platform add iosが正しく終了するのを回避していました。
CDV.hファイルはCordovaLib/CordovaLib.xcodeproj/publicにあります。あなたはこの道を与えることができ、私のために働いた。
相対パスの指定方法がわかりません。だから私はファイルをドラッグ/ドロップし、次のように""
で#import
に入れました:
#import "dragged file full path"
また、ビルド設定でENABLE BITCODE = NOを設定します
Cordovaプラットフォームのアンインストールと再インストール
cordova platform rm ios
cordova platform add ios
プロジェクトを削除して再追加すると、この問題に直面しました。アイコンやスプラッシュスクリーンなどのリソースファイルが見つからないため、プロジェクトはまったく作成されませんでした。
私のために働いた
Xcode 8.1 iOS 10.x
(ターゲット->ビルド設定->ヘッダー検索パス)
「$ {PODS_ROOT}/Cordova/CordovaLib/Classes/Public」
として
「$ {PODS_ROOT}/Headers/Public」フォルダーが空でした
次のスクリーンショットは、手順1から6を実行した後のXcode 7.2の表示を示しています(青で強調表示された行は、追加された構成を示します):
私は同じ問題を抱えていたので、設定ファイルから<icon src="icon.png" />
を削除しました。 cordova platform remove ios
を使用して追加されたIOSプラットフォームを削除し、cordova platform add ios
を使用しました