CocoaPodを使ったプロジェクトを構築できません。次のようなエラーが表示されます。
diff: /../Podfile.lock: No such file or directory
diff: Manifest.lock: No such file or directory error:
The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.`
$ pod install
はうまく動いているようで、私のワークスペースにPods
プロジェクトを追加します。私は$ pod update
を試しましたが、これは役に立ちません。
PODS_ROOT
が設定されていないようです。
ポッドファイル:
platform :ios, '6.0'
workspace 'Example.xcworkspace'
xcodeproj 'example/Example.xcodeproj'
pod 'TestFlightSDK', '~> 1.3.0-beta.5'
pod 'TestFlightLogger', '~> 0.0.2'
pod 'CocoaLumberjack', '~> 1.6.2'
pod 'Reachability', '~> 3.1.0'
pod 'SBJson', '~> 3.2'
pod 'MKMapViewZoom', '~> 1.0.0'
Podfileに大きな変更を加えたときも、同様の問題がありました。私の解決策は、ワークスペースファイルを削除してpod install
をもう一度実行することでした。
rm -rf MyProject.xcworkspace
pod install
TLDR:これはほとんどの場合Xcodeのバグで、プロジェクトを閉じて再び開くのが最も簡単な修正です。他のすべてが 正しく設定されている であると仮定します。
Pods
ディレクトリを削除してからpod install
を実行すると、ときどき同じエラーが発生します。
プロジェクト情報にはすべて正しく表示されています。
ただし、ターゲットのユーザー定義ビルド設定に移動すると、PODS_ROOTエントリがまったく見つからないか、1つ以上の構成で空になっています。これにより、ビルド時に次のエラーが発生します。
最も簡単な解決策は、Xcodeでプロジェクトを閉じて再度開くことです。
ターゲットのビルド設定に移動し、Allにフィルタをかけると、 PODS_ROOT
エントリがエラーなしで表示されます。
今すぐエラーなしでビルドする必要があります。
注意:Cocoa Podsの公式のAFNetworking iOSサンプルでさえこの問題を抱えており、それがXcodeのバグだと私に信じさせます。
別の解決策は、手動で設定をNone
に変更してから元の値に戻すことです。
ターゲットのBuild Settings
に移動し、PODS_ROOT
の値が "User-Defined"セクションの${SRCROOT}/Pods
と等しいことを確認してください。
更新:podfile.lock
が必要で、はバージョン管理で無視されるべきではありません特定のpodインストールでインストールされたライブラリのバージョンを追跡します。 (これは、Railsおよび--- php依存関係管理のそれぞれ gemfile.lock および composer.lock に似ています)。詳しくは docs を読んでください。クレジットは cbowns になります。
私の場合、私は自分のプロジェクトのためにハウスクリーニングをしていました(つまり、gitサブモジュールとして統合テストを分岐したり、重複ファイルを削除したりしました)。そして最終結果をgitリモートリポジトリにプッシュしました。私のレポをクローンしたすべてのクライアントは上記のエラーに苦しんだ。上記の Hlung's コメントに触発されて、存在しないファイルに対して実行しようとしているダングリングポッドスクリプトがいくつかあることに気付きました。それで私は私のターゲットビルドフェーズに行き、そしてココアポッドと関係がある残りのすべてのフェーズを削除しました(そしてHlungのコメントCopy Pods Manifest.lock
とcopy pod resources
を削除することを提案します。重要なのは、これらのダングリングビルドフェーズを削除することです。
それで、CocoaPodsは私のプロジェクトのためにConfigurationsを設定しなかったようです。それらはPods.xcconfig
にあるPods/Target Support Files/Pods
に基づいている必要があります。これを機能させるために、私は以下をしなければなりませんでした:
私はそれから関連していたかもしれないしなかったかもしれない別の構築エラーがありました。 Copy Pods Resources
で定義されているシェルスクリプトへのパスが正しくありませんでした。
"${SRCROOT}/Pods/Pods-resources.sh"
間違って解決しました。 SRCROOTがパスに存在しない追加のディレクトリを追加していたようです。だから私はプロジェクトフォルダへのパスをハードコーディングしました。
これで私は建てることができました。
あなたの時間を節約するために想定されている多くのものがそれを食べ尽くすことになるのはなぜですか?
注:説明については@ aboodの回答を参照してください。
私はこれがうまくいったのと同じ問題を抱えている:
私は以下のステップを実行することによって同じ問題を取り除きました:
Xcode->Product->Clean Build Folder
(表示するには、製品のalt keyを押してください)Xcode->Window->Organizer
を開き、Projects
タブを選択します。それからあなたのプロジェクトと削除プロジェクトのderived data
を見つけてください。次のようにして簡単に解決できます。
(Sudo)gem install cocoapods
ポッドインストール
きれいにして造る
私たちのチームメンバーの一人が最近のcocoapods gemをインストールしたことが問題の原因であると思われます。
/Pods/Pods-resources.shを言って同じ問題を抱えていた:ポッドに関連するファイルなどが削除された後でも、そのようなファイルやディレクトリはありません。
それを取り除いたのは、ターゲット - >ビルドフェーズに進み、ビルドフェーズ "Copy Pod Resources"を削除することです。
私は最近同じ問題を抱えていました。私はあらゆる可能なアドバイスを試しましたが、このプラグイン以外は何もしてくれませんでした。
https://github.com/kylef/cocoapods-deintegrate
現在のcocoapods統合のクリーンアップ後、削除されるべきものはPodfile、Podfile.lockおよび.xcworkspaceです。その後、もう一度インストールし直してください。
私はこれで誰かを助けることを願っています。
ここにはバグがあると思います。
私にとっては、問題を解決するためにPods
フォルダーとPodfile.lock
を削除し、もう一度pod install
を実行します。
このメッセージは無視されています.. :(
これは私の一日をした!
pod install
を実行しますあなたは以下を試すことができます。それは私のために直った。
プラグインはあなたのプロジェクトのためのcocoapodsから削除され、新しくインストールされます。
直感的ではありませんでした。基本プロジェクト設定に行き、それから、私はpod.lockとpod.manifestへのパスをCheck Pods Manifest.lockの下にハードコードしました。なぜなら、それらは実際には別のフォルダにあるからです。
diff "/Users/admin/Desktop/Experimental/projectfolder/Podfile.lock" "/Users/admin/Desktop/Experimental/projectfolder/Pods/Manifest.lock" > /dev/null
if [[ $? != 0 ]] ; then
cat << EOM
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
EOM
exit 1
fi
私の場合、これは私がpodfileの中からすべてのpodを削除したテストターゲットでした(後でそのターゲットには必要ないと気付いたポッドを追加したため)。ここで他の解決策のどれも私のために働きませんでした。
問題を引き起こしているターゲットのプロジェクト設定の[ビルドフェーズ]タブに移動します。
「Check Pods Manifest」および「Copy Pods Resources」というセクションを削除します。
「ライブラリとバイナリをリンク」の内側にあるlibPods-YourTarget.aを削除します。
[情報]タブのプロジェクト設定で[設定]を展開し、デバッグとリリースの両方でターゲットの設定を[なし]に設定します。 (これにより、いくつかのファイルが見つからないという警告が修正されます)
プロジェクトの派生データを削除し([ウィンドウ] - [プロジェクト] - [プロジェクトの削除] [プロジェクトの横])、Xcodeを再起動します。ターゲットをビルド/実行します。
私の場合、問題は間違った方向にありました。解決策はこちら http://guides.cocoapods.org/using/troubleshooting.html
何かがうまくいかないようであれば、まず最初に、プロジェクトのビルド設定でPods.xcconfigファイルから設定されたオプションを完全に上書きしていないことを確認してください。プロジェクトのビルド設定からオプションに値を追加するには、値リストの先頭に$(継承)を付けます。
私はこの問題を抱えていました。
修正した方法は、Podの実装を完全に削除して再実装することでした。ここに記載されているように、すべてのターゲットで「Build Phases」から「Copy Pods Resources」および「Check Pods Manifest.lock」を必ず削除してください。 プロジェクトからCocoaPodsを削除する方法?
このエラーを取り除くためには、Pods
ディレクトリを削除してPodfile.lock
ファイルを削除する必要がありました。
私の場合は、Podfile.lockとManifest.lockをソース管理に入れましたが、(誤って* .xcconfigを.gitignoreに追加して)Pods-Project.debug(release).xcconfigファイルをソース管理に追加するのを忘れました。 PODS_ROOTが設定されていない、まったく同じ理由で同じコンパイルエラーが発生しました。
つまり、レポジトリのクローンを作成した後で、CocoaPodをマシンにインストールしなくても、プロジェクトをすぐにビルドして実行できるようにする場合は、Podsディレクトリ全体をソース管理に追加するか、Podfile.lock、Manifest.lock、プロジェクトのxcconfigファイルを追加します。 xcconfigファイルをソース管理にPodします。
ビルド設定をデフォルトのCocoaPods設定とソース管理にマージする private .xcconfig を入れませんでした。
podfileを作成した後に新しいターゲットを追加した場合は、Podfile、Podfile.lock、Podsフォルダ、およびワークスペースを削除してからinit pods - >次にあなたのpods podをインストールしてください。
あなたがwatchOSのターゲットを持っているなら:私はそれが時計のターゲット自体にはない拡張時計の中にポッドを持っていることが突然同じことを発見しました。解決策は、ウォッチターゲットにもポッドを追加することでした。
私の場合、設定ファイルの最後に不必要なドットを誤って入力したため、この奇妙な問題が発生しました。設定ファイルにエラーがないことを確認してください。
ポッドを使用する前に、複数のターゲットを作成しました。後で他のターゲットをコンパイルし始めたとき、私はPodfileのターゲットのリストにlink_withを追加しなければなりませんでした。
私は自分のIONICプロジェクトで同じ問題を抱えていました。
それでも同じ問題がある場合は、Build Settings -> User-Defined settings
に設定が存在するかどうかを確認してください。
1 .PODS_ROOT
2 .PODS_PODFILE_DIR_PATH
存在しない場合は追加します。
PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/
それは問題を解決します、解決策 link
上記を試した後、私はpod install
でエラーが出ていたことに気づきました
[!]プロジェクトには既にカスタム設定セットがあるため、CocoaPodsはプロジェクトの基本設定を設定しませんでした。
Cocoapodsが私のプロジェクトに.xcconfigファイルを追加していなかったため、これがエラーの原因でした。
これを解決するために、私は自分のプロジェクトのInfo
タブに行きました。すべてのスキームとターゲットに対して、[Based on Configuration File]をNone
に設定します。それからpod install
を再実行しました
詳細についてはこのリンクを参照してください。 Cocoapods Warning - あなたのプロジェクトは既にカスタム設定セットを持っているのでCocoaPodsはあなたのプロジェクトの基本設定を設定しませんでした