web-dev-qa-db-ja.com

サンドボックスはPodfile.lock-iosと同期していません

Googleから複数の回答を試みた後、次のエラーが発生しました。

PhaseScriptExecution Check\ Pods\ Manifest.lock /Users/Apple/Library/Developer/Xcode/DerivedData/Build/Intermediates/FoodSpot.build/Debug-
    iphonesimulator/FoodSpotTests.build/Script-36819C3C1B6A30F50091382D.sh
        cd "/Users/Apple/Downloads/FoodSpot 2"
        /bin/sh -c /Users/Apple/Library/Developer/Xcode/DerivedData/Build/Intermediates/FoodSpot.build/Debug-iphonesimulator/FoodSpotTests.build/Script-36819C3C1B6A30F50091382D.sh

    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.

私は何度も更新してインストールしましたが、それらは役に立ちません。

22
Abdul Nouzil

「pod install」を実行するか、CocoaPodsインストールを更新します。

エラー自体に答えがあります!

エラーメッセージは、 CocoaPods インストールを更新する必要があることを示しています。

フレームワークとライブラリからlibPodsを削除し、pod installを使用してCocoapodsを更新できます。

また:

プロジェクトをきれいにしてビルドする

SO参照:

プロジェクトビルドのCocoaPodsエラー

エラー:「サンドボックスはPodfile.lockと同期していません...」RestKitとcocoapodsをインストールした後

14
Tharif

私にとっては、次の後に機能します:

pod deintegrate --verbose    
pod install --verbose
26
David Cheung

私にとって、その理由は、ビルド設定のユーザー定義変数を見逃していたからです!

問題を調べると、ビルドフェーズは2つのファイルを比較しようとします。

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

PODS_PODFILE_DIR_PATHおよびPODS_ROOT変数が欠落しているという理由だけで、それらを ""と見なすため、$ {PODS_PODFILE_DIR_PATH} /Podfile.lockは/Podfile.lockを指し、他の変数も同じです。
だから失敗する

diff /Podfile.lock and /Manifest.lock

ビルド設定に2つのユーザー定義設定を追加して、これを修正しました

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

何時間も検索した後、これは私のために働いた唯一のソリューションです

22
Arthur Kazemi

問題はPodfile.lockであり、ターゲットビルドフェーズのCheck Pods Manifest.lockスクリプトではManifest.lockを見つけることができません。

enter image description here

これは通常、PODS_PODFILE_DIR_PATHおよびPODS_ROOT変数が定義されていないことが原因です。

ビルド設定タブに移動してそれらを定義します。

enter image description here

プロジェクトでPodfile.lockとManifest.lockを探し、それらのディレクトリのフルパスを取得する必要があります。ディレクトリパスは、PODS_PODFILE_DIR_PATHおよびPODS_ROOTに使用する値になります。

2
Jack

派生データを削除すると、私にとってはうまくいきませんでした。 Finder自体にアクセスして削除しました。

2
Martin Jacob

ビルドフェーズに進み、[CP] check Pods Manifest.lockをクリックします。

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

PODS_PODFILE_DIR_PATHとPOD_ROOTの両方で、ユーザー定義のビルド設定で定義する必要があります。 POD_ROOTにはManifext.lockファイルへの正しいパスが必要で、POD_PODFILE_DIR_PATHにはPodfile.lockの正しいパスが必要です

したがって、ビルド設定に以下を追加します。

PODS_ROOT ---- ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH ---- ${SRCROOT}
2
Sudhir Mann

以下のようにポッドファイルに変更を加えます。

古いポッドファイル

ターゲット:TargetName、:exclusive => true do

ポッドファイルの変更

ターゲット 'TargetName' do

2
Apurv Pandey

私は何時間も探していましたが、次のような解決策を見つけました:

私の場合、方法3は機能します。

方法1:

  1. ターゲットを選択し、句の作成に移動し、バイナリとライブラリをリンク >すべてのlibPods.aファイルを削除
  2. ターミナルを開き、プロジェクトに直接移動し、実行します:

     pod install
    
  3. プロジェクトを整理してビルドする

ref.1

方法2:

  1. ターミナルを開き、プロジェクトに直接移動し、実行します:

    pod deintegrate --verbose    
    pod install --verbose
    

ref.2

方法3:

  1. ターゲットを選択し、ビルド設定に移動します>「+」記号をクリックします
  2. 2つのユーザー定義設定を追加します:[左へ=右へ]

    PODS_ROOT = ${SRCROOT}/Pods
    

    そして

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

ref.

1
Eddie

新しいPodsをインストールしようとするプロジェクトのワークスペースを開いていることを確信しています。だから、次を試してみてください(私にとってはこれがうまくいきました):

  1. プロジェクトをきれいにする
  2. プロジェクトを閉じます
  3. 実行pod install
  4. プロジェクトを開いて、もう一度再構築してみてください

問題は解決された可能性があります。

1
Randika Vishman

私の場合、他のターゲットを統合した後、同じエラーが発生しました。問題を解決するには、Podfileに両方のターゲットを追加する必要がありました。

abstract_target 'myApp' do
   use_frameworks!

   pod 'Alamofire', '~> 3.0'
   pod 'SwiftyJSON'

    target 'myAppOtherTarget'
end
1
Burak Öztürk

Xcode Projectビルドステップの前に、必ず「pod install」コマンドラインビルドステップを追加してください。

このエラーは、Xcodeプロジェクトのターゲットのビルドフェーズ実行スクリプトから発生しています。Podfile.lockが見つかりません。このファイルはCocoaPodsによって生成され、TeamCityプロジェクトのビルドステップでインストールする必要があります。

私のビルド手順は次のようになります:

  1. コマンドライン:bundle install --path .bundleGemfileを使用してプロジェクトにローカルなココアポッドをインストールします)。
  2. コマンドライン:bundle exec pod install --verbosePodfileを使用)
  3. コマンドライン:carthage update --platform iOSCartfileを使用)
  4. Xcodeプロジェクト
  5. アーカイブを構築するコマンドライン
  6. ビルドをアップロードするコマンドライン

お役に立てれば。

1
Gurpartap Singh

私は今、同じ問題に直面しており、ターミナルでプロジェクトの場所に移動した後、このコマンドを使用して修正しました。

pod install --repo-update
0
Gobi M

同じ問題がありました。 Manifest.lockのcocoapodsバージョンは、Macのバージョンよりも高いことが判明しました。 Manifest.lockファイルで指定されたバージョンまでココアポッドのバージョンを取得するには、「Sudo gem install cocoapods」を実行する必要がありました。これにより問題が修正され、プロジェクトのビルドでエラーは発生しませんでした。

0
henly

ビルド設定に2つのユーザー定義設定を追加して、これを修正しました

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
0
Fabio Valencio

私の場合、_Testsターゲットでエラーが発生していました。 _Testsターゲットは必要なかったため、削除しました。これでエラーが解決しました。

0
Chris Prince

Cocoapodを更新することで修正しました。エラーが発生する前に、ポッドファイルが現在のcocoapodバージョンでサポートされていないため、警告がcocoapodsをアップグレードする必要があることをログに記録していました。

1. Clean project
2. Sudo gem install cocoapods/gem install cocoapods
3. pod install (optional if your project still shows error)

注:iOSプラットフォームのフラッターアプリケーションでこのエラーが見つかりました

0
kalpa

これは、ココアポッドが適切にインストールまたはアンインストールされない場合に発生します

ココアポッドをインストールする場合は実行します

pod install

ココアポッドをアンインストールする場合は、コマンドを実行します

pod deintegrate
0
Manish

私のようにPodfileを移動してこの問題に直面した場合、以下で説明する解決策が役立つ場合があります-

  1. 次のすべてを削除します-Podsフォルダー、xcworkspaceファイル、podlockファイル(サブフォルダーで使用できないものはスキップします)
  2. ビルドフェーズタブから[cp]を含むすべてのステップを削除します
  3. ワークスペースにあるすべてのサブプロジェクトに対してステップ1と2を繰り返します
  4. ワークスペースを開き、各プロジェクトに移動してポッドのフレームワークを削除し、各プロジェクトからポッドフォルダーを削除します
  5. ワークスペースを閉じる
  6. ポッドインストールを実行する

これで、プロジェクトを開いてビルドし、実行できるはずです。

0
Deepak Badiger