web-dev-qa-db-ja.com

プロジェクト構築時のCocoaPodsエラー

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'
178
Undistraction

Podfileに大きな変更を加えたときも、同様の問題がありました。私の解決策は、ワークスペースファイルを削除してpod installをもう一度実行することでした。

rm -rf MyProject.xcworkspace
pod install
170
asgoth

TLDR:これはほとんどの場合Xcodeのバグで、プロジェクトを閉じて再び開くのが最も簡単な修正です。他のすべてが 正しく設定されている であると仮定します。


Podsディレクトリを削除してからpod installを実行すると、ときどき同じエラーが発生します。

プロジェクト情報にはすべて正しく表示されています。

enter image description here

ただし、ターゲットのユーザー定義ビルド設定に移動すると、PODS_ROOTエントリがまったく見つからないか、1つ以上の構成で空になっています。これにより、ビルド時に次のエラーが発生します。

enter image description here

最も簡単な解決策は、Xcodeでプロジェクトを閉じて再度開くことです。

ターゲットのビルド設定に移動し、Allにフィルタをかけると、 PODS_ROOTエントリがエラーなしで表示されます。

enter image description here

今すぐエラーなしでビルドする必要があります。


注意:Cocoa Podsの公式のAFNetworking iOSサンプルでさえこの問題を抱えており、それがXcodeのバグだと私に信じさせます。

別の解決策は、手動で設定をNoneに変更してから元の値に戻すことです。

enter image description here

68
Senseful

ターゲットのBuild Settingsに移動し、PODS_ROOTの値が "User-Defined"セクションの${SRCROOT}/Podsと等しいことを確認してください。

enter image description here

32
Jagie

更新:podfile.lockが必要で、はバージョン管理で無視されるべきではありません特定のpodインストールでインストールされたライブラリのバージョンを追跡します。 (これは、Railsおよび--- php依存関係管理のそれぞれ gemfile.lock および composer.lock に似ています)。詳しくは docs を読んでください。クレジットは cbowns になります。


私の場合、私は自分のプロジェクトのためにハウスクリーニングをしていました(つまり、gitサブモジュールとして統合テストを分岐したり、重複ファイルを削除したりしました)。そして最終結果をgitリモートリポジトリにプッシュしました。私のレポをクローンしたすべてのクライアントは上記のエラーに苦しんだ。上記の Hlung's コメントに触発されて、存在しないファイルに対して実行しようとしているダングリングポッドスクリプトがいくつかあることに気付きました。それで私は私のターゲットビルドフェーズに行き、そしてココアポッドと関係がある残りのすべてのフェーズを削除しました(そしてHlungのコメントCopy Pods Manifest.lockcopy pod resourcesを削除することを提案します。重要なのは、これらのダングリングビルドフェーズを削除することです。

30
abbood

それで、CocoaPodsは私のプロジェクトのためにConfigurationsを設定しなかったようです。それらはPods.xcconfigにあるPods/Target Support Files/Podsに基づいている必要があります。これを機能させるために、私は以下をしなければなりませんでした:

  1. このファイルをXcodeの自分のXcodeプロジェクトにドラッグし、コピーしないように選択します。
  2. これで、私たちのプロジェクトに参照がありました。構成を設定できます。 enter image description here

私はそれから関連していたかもしれないしなかったかもしれない別の構築エラーがありました。 Copy Pods Resourcesで定義されているシェルスクリプトへのパスが正しくありませんでした。

"${SRCROOT}/Pods/Pods-resources.sh"

間違って解決しました。 SRCROOTがパスに存在しない追加のディレクトリを追加していたようです。だから私はプロジェクトフォルダへのパスをハードコーディングしました。

これで私は建てることができました。

あなたの時間を節約するために想定されている多くのものがそれを食べ尽くすことになるのはなぜですか?

注:説明については@ aboodの回答を参照してください。

28
Undistraction

私はこれがうまくいったのと同じ問題を抱えている:

  1. Xcodeの場合:
    • クリーン
    • Xcode/Window/Organizer/Project/Your Projectの派生データを削除する
    • Podディレクトリ(設定ファイルが含まれています。参照だけでなくファイルを削除してください。)
    • Project/Configurations(debug/release)の各ターゲットのpod設定ファイルへの参照をすべて削除しました
    • すべてのターゲットから「ターゲット/ビルドフェーズ/ポッドリソースのコピー」を削除しました。
    • すべてのターゲットから「ターゲット/ビルド設定/ユーザー定義/ PODS_ROOT」を削除
  2. Xcodeを終了
  3. あなたのプロジェクトディレクトリで:
    • rm -rfポッド
    • (オプション)rm -rf YourProject.xcworkspace
    • rm -rf Podfile.lock
  4. ポッドインストール
  5. XcodeでYourProject.xcworkspaceを開く
21
Tibidabo

私は以下のステップを実行することによって同じ問題を取り除きました:

  • Xcode->Product->Clean Build Folder(表示するには、製品のalt keyを押してください)
  • Xcode->Window->Organizerを開き、Projectsタブを選択します。それからあなたのプロジェクトと削除プロジェクトのderived dataを見つけてください。
15
Timuçin

次のようにして簡単に解決できます。

  • (Sudo)gem install cocoapods

  • ポッドインストール

  • きれいにして造る

私たちのチームメンバーの一人が最近のcocoapods gemをインストールしたことが問題の原因であると思われます。

10
Diego

  1. 崇高なテキストで.xcodeprojファイルを開く
  2. あなたがきれいなポッドフォルダを持っている場合、私はあなたがポッドフォルダを削除した後に上記のエラーを得たかどうか、私はこの2行を削除します
9
Ivan Zhang

/Pods/Pods-resources.shを言って同じ問題を抱えていた:ポッドに関連するファイルなどが削除された後でも、そのようなファイルやディレクトリはありません。

それを取り除いたのは、ターゲット - >ビルドフェーズに進み、ビルドフェーズ "Copy Pod Resources"を削除することです。

6
roshi

この問題はそれを解決しました。

  1. プロジェクトのターゲットターゲットを選択します
  2. ビルド設定を選択
  3. 開くユーザー定義ドロップダウンリスト
  4. キーの値PODS_ROOT$ {SRCROOT}/Podsに変更

Screenshot for above steps

4

私は最近同じ問題を抱えていました。私はあらゆる可能なアドバイスを試しましたが、このプラグイン以外は何もしてくれませんでした。

https://github.com/kylef/cocoapods-deintegrate

現在のcocoapods統合のクリーンアップ後、削除されるべきものはPodfile、Podfile.lockおよび.xcworkspaceです。その後、もう一度インストールし直してください。

私はこれで誰かを助けることを願っています。

4
Chiara

ここにはバグがあると思います。
私にとっては、問題を解決するためにPodsフォルダーとPodfile.lockを削除し、もう一度pod installを実行します。
このメッセージは無視されています.. :(

3
Johnny

これは私の一日をした!

  1. プロジェクトフォルダ内のPodfile.lockファイルを削除する
  2. プロジェクトフォルダ内のPodsフォルダを削除する
  3. プロジェクトフォルダでpod installを実行します
  4. Xcodeで「クリーン」する
  5. プロジェクトを再構築する
2
alitosuner

あなたは以下を試すことができます。それは私のために直った。

  1. gemをインストールします。cocoapods-deintegrateをインストールします。
  2. gemをインストールします。cocoapods-cleanをインストールします。
  3. 後藤ポッド崩壊
  4. ポッドクリーン
  5. ポッドインストール

プラグインはあなたのプロジェクトのためのcocoapodsから削除され、新しくインストールされます。

2
MD Aslam Ansari

直感的ではありませんでした。基本プロジェクト設定に行き、それから、私は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
2

私の場合、これは私がpodfileの中からすべてのpodを削除したテストターゲットでした(後でそのターゲットには必要ないと気付いたポッドを追加したため)。ここで他の解決策のどれも私のために働きませんでした。

  1. 問題を引き起こしているターゲットのプロジェクト設定の[ビルドフェーズ]タブに移動します。

  2. 「Check Pods Manifest」および「Copy Pods Resources」というセクションを削除します。

  3. 「ライブラリとバイナリをリンク」の内側にあるlibPods-YourTarget.aを削除します。

  4. [情報]タブのプロジェクト設定で[設定]を展開し、デバッグとリリースの両方でターゲットの設定を[なし]に設定します。 (これにより、いくつかのファイルが見つからないという警告が修正されます)

  5. プロジェクトの派生データを削除し([ウィンドウ] - [プロジェクト] - [プロジェクトの削除] [プロジェクトの横])、Xcodeを再起動します。ターゲットをビルド/実行します。

2
shim

私の場合、問題は間違った方向にありました。解決策はこちら http://guides.cocoapods.org/using/troubleshooting.html

何かがうまくいかないようであれば、まず最初に、プロジェクトのビルド設定でPods.xcconfigファイルから設定されたオプションを完全に上書きしていないことを確認してください。プロジェクトのビルド設定からオプションに値を追加するには、値リストの先頭に$(継承)を付けます。

1
R00We

私はこの問題を抱えていました。

修正した方法は、Podの実装を完全に削除して再実装することでした。ここに記載されているように、すべてのターゲットで「Build Phases」から「Copy Pods Resources」および「Check Pods Manifest.lock」を必ず削除してください。 プロジェクトからCocoaPodsを削除する方法?

1
dloomb

このエラーを取り除くためには、Podsディレクトリを削除してPodfile.lockファイルを削除する必要がありました。

1
BlackHatSamurai

私の場合は、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 を入れませんでした。

1
Qiulang

podfileを作成した後に新しいターゲットを追加した場合は、Podfile、Podfile.lock、Podsフォルダ、およびワークスペースを削除してからinit pods - >次にあなたのpods podをインストールしてください。

0
mohammad alabid
gem install xcodeproj

あなたを助けるかもしれません。

podのインストールが打ち切りで失敗する - New Swiftプロジェクト を参照してください。

0
Leo

私は同じ問題を抱えていました。私の最近のステップを遡った後、私は新しいターゲットのためのターゲット宣言を追加し、続いてpod install,を実行することが問題の原因であることがわかりました:

enter image description here

Cocoapodsがソース管理下にあるnotという少なくとも1つのファイルを変更したため、ブランチをリセットしてプロジェクトをクリーンアップすることはできませんでした。追加のターゲットを追加する前にリモートブランチをコミットにリセットし、リポジトリのクローンを作成し直すと、問題が発生しなくなったためです。

0
Sheamus

あなたがwatchOSのターゲットを持っているなら:私はそれが時計のターゲット自体にはない拡張時計の中にポッドを持っていることが突然同じことを発見しました。解決策は、ウォッチターゲットにもポッドを追加することでした。

0
xaphod

私の場合、設定ファイルの最後に不必要なドットを誤って入力したため、この奇妙な問題が発生しました。設定ファイルにエラーがないことを確認してください。

0
Jidong Chen

ポッドを使用する前に、複数のターゲットを作成しました。後で他のターゲットをコンパイルし始めたとき、私はPodfileのターゲットのリストにlink_withを追加しなければなりませんでした。

0

時間を費やした後、私は解決策が "Build Phases"に行き、そして "Check Pods Manifest.lock"にチェックを入れて "インストール時のみスクリプトを実行する"をチェック

後でありがとうございます;) enter image description here

0

私は自分のIONICプロジェクトで同じ問題を抱えていました。

それでも同じ問題がある場合は、Build Settings -> User-Defined settingsに設定が存在するかどうかを確認してください。

1 .PODS_ROOT 2 .PODS_PODFILE_DIR_PATH

存在しない場合は追加します。

PODS_ROOT = ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH = ${SRCROOT}/

それは問題を解決します、解決策 link

0
Onkar

上記を試した後、私はpod installでエラーが出ていたことに気づきました

[!]プロジェクトには既にカスタム設定セットがあるため、CocoaPodsはプロジェクトの基本設定を設定しませんでした。

Cocoapodsが私のプロジェクトに.xcconfigファイルを追加していなかったため、これがエラーの原因でした。

これを解決するために、私は自分のプロジェクトのInfoタブに行きました。すべてのスキームとターゲットに対して、[Based on Configuration File]をNoneに設定します。それからpod installを再実行しました

詳細についてはこのリンクを参照してください。 Cocoapods Warning - あなたのプロジェクトは既にカスタム設定セットを持っているのでCocoaPodsはあなたのプロジェクトの基本設定を設定しませんでした

0
Matt Hudson