tl; dr gunakan:
pod update podName
Mengapa? Baca di bawah.
pod update
TIDAK akan menghormati podfile.lock
. Itu akan menimpanya.
pod install
akan menghormati podfile.lock
Diagram ini membantu lebih memahami perbedaan:
Masalah utama datang dari ~>
operator alias optimis .
Menggunakan versi yang tepat dalam Podfile
tidak cukup
Beberapa orang mungkin berpikir bahwa dengan menentukan versi yang tepat dari pod mereka Podfile
, sukaipod 'A', '1.0.0'
, sudah cukup untuk menjamin bahwa setiap pengguna akan memiliki versi yang sama dengan orang lain di tim.
Maka mereka bahkan mungkin menggunakan pod update
, bahkan ketika hanya menambahkan pod baru, berpikir itu tidak akan mengambil risiko untuk memperbarui pod lain karena mereka diperbaiki ke versi tertentu di Windows Podfile
.
Tetapi faktanya, itu tidak cukup untuk menjamin bahwa user1 dan user2 dalam skenario kami di atas akan selalu mendapatkan versi yang sama persis dari semua pod mereka.
Salah satu contoh khas adalah jika pod A
memiliki ketergantungan pada pod A2
- dinyatakan A.podspec
sebagai dependency 'A2', '~> 3.0'
. Dalam kasus seperti itu, gunakan pod'A', '1.0.0'
di Podfile Anda memang akan memaksa user1 dan user2 untuk keduanya selalu menggunakan versi 1.0.0 dari pod A, tetapi:
- user1 mungkin berakhir dengan
A2
versi pod3.4
(karena ituA2
versi terbaru saat itu)
- sementara ketika user2 berjalan
pod install
ketika bergabung dengan proyek nanti, mereka mungkin mendapatkan pod A2
dalam versi 3.5
(karena pengelola A2
mungkin telah merilis versi baru sementara itu). Itu sebabnya satu-satunya cara untuk memastikan setiap pekerjaan anggota tim dengan versi yang sama dari semua polong pada setiap Ini komputer adalah dengan menggunakan Podfile.lock
dan benar menggunakan pod install
vs pod update
.
Kutipan di atas semuanya berasal dari instal pod vs pembaruan pod
Saya juga sangat merekomendasikan menonton apa yang podfile.lock
harus dilakukan
podfile.lock
. Lihat tautan dan video yang dirujuknya.