web-dev-qa-db-ja.com

Xcodeプロジェクトのpodfile.lockとは何ですか?なぜそれが使用されるのですか?

私はXcodeprojectsでポッドを使用する初心者です。 podfile.lockに混乱しました。フレームワーク「OBJECTMAPPER」を2.0に更新して、Swift 3.と互換性を持たせたいのですが、そうではありません。

最新バージョン(2.0)に更新されないのはなぜですか。それはポッドfile.lockと関係がありますか?これは次のとおりです->

enter image description here

そしてなぜそれが使われるのですか?

更新:podfile enter image description here

11
Jeesson_7

誰かが私が2年前にしたのと同じことを不思議に思っている場合に備えて。簡単な説明をします。 cocoapodsを含むライブラリをインストールすると、それ(ライブラリ)がインストールされているバージョンで、それに対してpodlockが生成されます。たとえば、「XX」という名前のライブラリがあり、ポッドを使用してインストールするとします。 「XX」の最新バージョンが2.0.0の場合、uは最新バージョンがインストールされ、podfile.lockは-(XX-(2.0.0))でロックされます。

そのライブラリの新しいバージョンがリリースされ、その更新をプロジェクトにインストールしたくない場合は、pod installを使用します。これにより、podfileに新しいライブラリがインストールされるだけで、最新のコードに更新しても既存のライブラリには影響しません。 。( "これにより、以前はライブラリの一部の機能が表示されなくなっても消えないようになります")。これはpodfile.lockによって監視されます。

将来的に「XX」を新しいバージョンに更新する場合は、そのライブラリのポッド更新を使用してください

1
Jeesson_7

pod installは、ObjectMapperを最新バージョンに更新する理由がないため、更新しません。 ObjectMapperはUberRidesへの依存関係として含まれており、バージョン1.5.0は1以上の要件を満たしています。

強制的に更新するために、必要なバージョンでObjectMapperをポッドファイルに追加できます。

pod 'ObjectMapper', '2.0'
1
mlidal