CocoaPods: Temel Kavramlar, iOS için Bağımlılık Yöneticisi

Yazar: IT Sectr Yayınlanma: 2026-02-12 Okuma süresi: 10 dk

CocoaPods, iOS, macOS, watchOS ve tvOS projeleri için açık kaynaklı bir bağımlılık yöneticisidir. CocoaPods Ruby ile oluşturulmuştur ve 100.000'den fazla kütüphane içeren bir özellik kaydı (Specs) kullanır. Entegrasyon, projenin tüm bağımlılıklarını tanımlayan Podfile dosyası aracılığıyla gerçekleşir. Kurulumun sonucu, ana projeyi ve bağlı tüm modülleri birleştiren .xcworkspace dosyasıdır. CocoaPods, iOS geliştirmede en popüler bağımlılık yöneticisi olmaya devam etmektedir: Stack Overflow Survey (2025) anketine göre, iOS geliştiricilerinin %34'ü tarafından kullanılmaktadır.

Önemli Noktalar

  • CocoaPods — 100.000+ kütüphane ve 10 milyar indirme ile iOS için en popüler bağımlılık yöneticisi
  • Podfile — bağımlılıkları, sürümlerini ve entegrasyon parametrelerini listeleyen bir Ruby yapılandırma dosyası
  • Podspec — meta veri, kaynak kod ve platform gereksinimlerini içeren bir kütüphane özellik dosyası
  • Kurulum pod install ile .xcworkspace oluşturur — Xcode'da yalnızca bu açılmalıdır
  • Podfile.lock bağımlılıkların tam sürümlerini sabitleyerek derleme tekrarlanabilirliğini garanti eder
  • CocoaPods vs SPM: CocoaPods entegrasyon üzerinde daha fazla kontrol sağlar, SPM Xcode'a entegredir ve üçüncü taraf araç gerektirmez

CocoaPods Nedir?

CocoaPods, Apple ekosistemi için Ruby ile yazılmış ve 2011 yılında Eladio Lopez tarafından yayınlanan bir bağımlılık yöneticisidir. CocoaPods, Xcode projelerine üçüncü taraf kütüphaneleri entegre etme sorununu çözer: dosyaları manuel olarak kopyalamak ve bağlayıcı işaretlerini yapılandırmak yerine, geliştirici bağımlılıkları bir Podfile içinde tanımlar ve pod install komutunu çalıştırır. CocoaPods otomatik olarak kaynak dosyaları indirir, derleyici işaretlerini yapılandırır ve .xcworkspace çalışma alanını oluşturur.

CocoaPods mimarisi üç bileşenden oluşur: CocoaPods.app (CLI aracı), Specs (GitHub'da merkezi özellik kaydı) ve Podfile (proje yapılandırması). Specs kaydı, sürüm geçmişiyle birlikte 100.000'den fazla kütüphane içerir. pod install çalıştırıldığında, CocoaPods en son kayıt sürümünü indirir (pod repo update), bağımlılıkları bulur, sürüm ağacını çözer ve tüm pod entegrasyonlarıyla .xcworkspace oluşturur. Her kütüphane ayrı bir hedef olarak derlenir, bu da bağımlılık izolasyonu ve ad çakışmalarını önleme sağlar.

CocoaPods, Xcode ile sıkı bir şekilde entegredir: başlık yolları ve bağlayıcı işaretleri içeren Pods.xcconfig dosyaları oluşturur ve User Script Sandboxing yapılandırmasını yapar. macOS'ta CocoaPods kullanmak için Ruby 2.6+ (tüm Mac'lerde önceden yüklenmiş) ve Command Line Tools ile Xcode gereklidir. İstatistikler: 2025'te CocoaPods, 10 milyardan fazla pod indirmesi işledi ve ortalama bir iOS projesi, CocoaPods aracılığıyla 15 ila 40 bağımlılık içerir.

CocoaPods Nasıl Çalışır?

CocoaPods, her kütüphaneyi ayrı bir Git deposu olarak indirir, .podspec özelliğini doğrular ve statik bir çerçeve veya dinamik kütüphane olarak derler. Pod'lar diğer pod'lara bağımlı olabilir — CocoaPods bir bağımlılık grafiği oluşturur ve sürüm çakışmalarını çözer. İki kütüphane aynı bağımlılığın farklı sürümlerini gerektiriyorsa, CocoaPods uyumlu bir sürüm bulmaya çalışır veya hata bildirir. Tüm bağımlılıklar ve sürümleri Podfile.lock dosyasına kaydedilir ve bu dosya sürüm kontrolüne eklenmelidir.

Manuel entegrasyona göre CocoaPods'un avantajları: otomatik bağımlılık yönetimi, merkezi kütüphane kaydı, alt özellik (subspec) desteği, özel depolar oluşturma yeteneği ve anlamsal sürümleme. Bir geliştirme ekibi için CocoaPods, tüm üyelerin aynı kütüphane sürümlerini kullanmasını sağlar — Podfile.lock herhangi bir makinede derleme tekrarlanabilirliğini garanti eder.

Podfile: Yapı, Sözdizimi ve Örnekler

Podfile, bir Xcode projesinin bağımlılıklarını tanımlayan Ruby yapılandırma dosyasıdır. Podfile, .xcodeproj dosyasının yanında proje köküne yerleştirilir. CocoaPods sözdizimi, değişkenler, koşullar ve döngüler kullanımına izin veren Ruby DSL'ye (Domain Specific Language) dayanır. Minimum bir Podfile, bir platform ve en az bir bağımlılık içerir.

ruby
platform :ios, '15.0'

target 'MyApp' do
  pod 'Alamofire', '~> 5.9'
  pod 'SnapKit', '~> 5.7'
  pod 'Kingfisher', '~> 8.0'
end

Anahtar satır platform :ios, '15.0' minimum iOS sürümünü belirler. target 'MyApp' yönergesi, belirli bir hedef için bağımlılıkları gruplandırır. Her pod 'Name', '~> version' satırı, kütüphane adını ve sürümünü belirtir. '~> 5.9' operatörü «5.9'dan 6.0'a kadar, 6.0 hariç herhangi bir sürüm» anlamına gelir — bu, önemli değişikliklere karşı koruyan anlamsal sürümlemedir.

Sürüm Sabitleme ve Seçenekler

CocoaPods esnek sürüm operatörlerini destekler: '= 1.0' (tam sürüm), '>= 1.0' (minimum), '< 2.0' (maksimum), '~> 1.2.3' (yalnızca yama). Yerel bir klasörden kütüphane eklemek için pod 'MyLib', :path => '../MyLib' kullanılır. Git'ten eklemek için — pod 'MyLib', :git => 'https://github.com/user/MyLib.git', :tag => '1.0.0'.

ruby
platform :ios, '15.0'
use_frameworks! :linkage => :static
inhibit_all_warnings!

target 'MyApp' do
  pod 'Alamofire', '~> 5.9'
  pod 'Firebase/Crashlytics', '~> 11.0'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'Nimble', '~> 13.0'
  end
end

target 'MyWatchExtension' do
  platform :watchos, '9.0'
  pod 'Alamofire', '~> 5.9'
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
    end
  end
end

use_frameworks!, pod'ların statik kütüphaneler yerine çerçeve olarak derlenmesini sağlar (Xcode 15+'tan itibaren varsayılan davranış). :linkage => :static özelliği, çerçeveleri statik olmaya zorlayarak uygulama boyutunu azaltır. inhibit_all_warnings! pod'lardan gelen uyarıları bastırır — temiz bir derleme günlüğü için kullanışlıdır. inherit! :search_paths ile iç içe hedefler (örneğin testler için) tüm bağımlılıkları yeniden derlemeden yalnızca arama yollarını alır. post_install bloğu, tüm pod hedefleri için derleme ayarlarını yapılandırır — bu, birleşik bir minimum iOS sürümü ayarlamak için standart bir desendir.

Podfile.lock, pod install sırasında otomatik olarak oluşturulur. Geçişli olanlar dahil tüm yüklü bağımlılıkların tam sürümlerini sabitler. Kilit dosyası depoda saklanmalıdır — aksi takdirde başka bir makinede pod install farklı sürümler yükleyebilir. pod update PodName komutu, belirli bir pod'u güncelleyerek Podfile.lock'ı değiştirir. pod outdated, daha yeni sürümler mevcut olan pod'ların listesini gösterir.

Podspec: Kütüphane Oluşturma ve Yayınlama

Podspec, CocoaPods için bir kütüphaneyi tanımlayan .podspec uzantılı bir Ruby dosyasıdır. Podspec, meta veri (ad, sürüm, yazar), kaynak kod, bağımlılıklar, sistem çerçeveleri ve platform gereksinimlerini içerir. CocoaPods, kayıt defterine yayınlamadan önce pod spec lint ile podspec'i doğrular.

ruby
Pod::Spec.new do |s|
  s.name             = 'NetworkingKit'
  s.version          = '1.2.0'
  s.summary          = 'Lightweight HTTP client for iOS'
  s.description      = 'NetworkingKit is a Swift HTTP client with async/await support, built-in caching, and automatic retry logic.'
  s.homepage         = 'https://github.com/user/NetworkingKit'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'Developer' => 'dev@example.com' }
  s.source           = { :git => 'https://github.com/user/NetworkingKit.git', :tag => s.version.to_s }
  s.ios.deployment_target = '15.0'
  s.swift_version    = '5.9'
  s.source_files     = 'Sources/**/*.swift'
  s.dependency 'Alamofire', '~> 5.9'
end

s.name — kayıt defterindeki benzersiz kütüphane adı. s.version, Git etiketine karşılık gelir (yayınlama için önemlidir). s.source_files — kaynak dosyaları dahil etmek için glob deseni. s.dependency, bir sürümle diğer pod'lara bağımlılık belirtir. s.ios.deployment_target, desteklenen minimum iOS sürümünü ayarlar — proje daha eski bir sürüm kullanıyorsa CocoaPods otomatik olarak uyarır. Özel pod'lar için, kayıt defterine yayınlamak yerine Podfile'da :path kullanılabilir.

Merkezi Specs kaydına kütüphane yayınlama, pod trunk push NetworkingKit.podspec ile yapılır. pod trunk register dev@example.com 'Developer' ile ön kayıt gereklidir. CocoaPods podspec'i doğrular ve Specs deposuna bir çekme isteği gönderir. Alternatif olarak, şirket içi kütüphaneler için pod repo push ile özel bir kayıt defteri kullanılabilir.

Alt Özellikler ve Modülerlik

Alt özellikler (Subspecs), bir kütüphaneyi kullanıcıların seçici olarak dahil edebileceği modüllere bölmeye olanak tanır. Örneğin, Firebase alt özellikler kullanır: pod 'Firebase/Crashlytics', diğer Firebase modülleri olmadan yalnızca Crashlytics'i içerir. Alt özellikler, temel yapılandırmayı devralır ve kendi source_files ve bağımlılıklarını ekleyebilir.

KomutEylem
pod spec lintPodspec geçerliliğini doğrula
pod trunk registerCocoaPods Trunk'a kaydol
pod trunk pushPodspec'i kayıt defterine yayınla
pod repo pushÖzel kayıt defterine yayınla
pod lib lintYerel kütüphane doğrulaması

CocoaPods Kurulumu ve Yapılandırması

CocoaPods, RubyGems — Ruby'nin standart paket yöneticisi aracılığıyla kurulur. macOS'ta Ruby önceden yüklenmiştir, bu nedenle terminalde tek bir komut yeterlidir. Bir alternatif, CocoaPods'u ayrı bir formül olarak kuran Homebrew'dür. Kurulumdan sonra proje başlatma, temel yapılandırmayla bir Podfile oluşturan pod init ile yapılır. Podfile bağımlılıklarla doldurulduktan sonra geliştirici pod install komutunu çalıştırır — CocoaPods kütüphaneleri indirir ve çalışma alanını oluşturur.

ruby
# Kurulum CocoaPods aracılığıyla RubyGems
sudo gem install cocoapods

# Alternatif kurulum Homebrew
brew install cocoapods

# Başlatma Podfile projede
cd /path/to/Project
pod init

# Bağımlılıkları yükleme
pod install

Önemli kural: pod install'dan sonra her zaman .xcworkspace dosyasını açın, .xcodeproj dosyasını değil. .xcodeproj açarsanız, Xcode pod'ları görmez ve derleme bağlayıcı hatalarıyla başarısız olur. pod install komutu, bağımlılıkları yalnızca Podfile değiştiğinde veya ilk çalıştırmada indirir. Tüm pod'ları zorla yeniden yüklemek için pod install --repo-update veya pod deintegrate && pod install kullanın.

CocoaPods güncelleme, sudo gem update cocoapods veya brew upgrade cocoapods ile yapılır. CocoaPods sürümü pod --version ile kontrol edilir. Sürüm 1.12'den (2024) itibaren CocoaPods, sıkı modül doğrulama ayarları ve gelişmiş geçişli bağımlılık çözümü ile Xcode 15'i destekler. 2025 ortası itibarıyla en son kararlı sürüm, Swift 6 desteği ve 50+ pod'lu projeler için gelişmiş bağımlılık grafiği çözüm performansı ile 1.16'dır.

ruby
# Tüm pod'ları en son sürümlere güncelleme
pod update

# Belirli bir pod'u güncelleme
pod update Alamofire

# Eski bağımlılıkları kontrol etme
pod outdated

# Kaldırma CocoaPods projeden
pod deintegrate

pod update argümansız olarak, Podfile'a göre tüm pod'ları en son uyumlu sürümlere günceller (~> operatörlerine saygı duyarak). pod outdated, Podfile.lock'daki mevcut sürüm ile en son mevcut sürüm arasındaki farkı gösterir. pod deintegrate, CocoaPods'u projeden tamamen kaldırır — .xcworkspace, yapılandırma dosyaları ve derleme ayarlarını siler. Swift Package Manager'a geçiş yaparken bu kullanışlıdır.

Bağımlılık ve Sürüm Yönetimi

Bağımlılık yönetimi CocoaPods'ta dört yönü içerir: sürüm sabitleme, çakışma çözümü, derleme optimizasyonu ve geçişli bağımlılıkları yönetme. CocoaPods, Podfile.lock'a dayalı bir bağımlılık grafiği oluşturur — bir proje A ve B kütüphanelerini kullanıyorsa ve her ikisi de C'ye bağımlıysa, CocoaPods her iki gereksinimi de karşılayan bir C sürümü bulur.

İki bağımlılık aynı kütüphanenin uyumsuz sürümlerini gerektirdiğinde çakışmalar ortaya çıkar. CocoaPods, çakışan gereksinimleri belirten bir hata bildirir. Çözümler: bağımlılıklardan birini uyumlu bir sürüme güncellemek, belirli bir işlemle pod 'Lib', :git => ... kullanmak veya değiştirilmiş bağımlılıkla kütüphanelerden birini çatallamak. Büyük projeler için, her çekme isteğinde pod lib lint ile CI doğrulaması ayarlamanız önerilir.

Gelişmiş Yönetim Stratejileri

CocoaPods çeşitli gelişmiş özellikler sunar: yerel kütüphane geliştirme için :path, çatalları bağlamak için :git, geliştirme dallarını test etmek için :branch. :linkage => :static ile use_frameworks! yönergesi, nihai ikili dosya boyutunu en aza indirir. A/B testi ve özellik işaretleri için, Podfile'daki Ruby koşullu yapıları aracılığıyla farklı pod sürümleri dahil edilebilir.

ruby
platform :ios, '15.0'
use_frameworks!

# Ortamı tanımlama
is_debug = defined?(DEBUG) && DEBUG

target 'MyApp' do
  # Temel bağımlılıklar
  pod 'Alamofire', '~> 5.9'
  pod 'SnapKit', '~> 5.7'

  # Geliştirme için yerel kütüphane
  pod 'MyInternalLib', :path => '../MyInternalLib'

  # Hata ayıklama için koşullu bağımlılık
  if is_debug
    pod 'SwiftyBeaver', '~> 2.0'
  else
    pod 'CocoaLumberjack', '~> 3.8'
  end

  # Hata düzeltmesi içeren çatal
  pod 'Kingfisher', :git => 'https://github.com/user/Kingfisher.git', :branch => 'fix-memory-leak'
end

abstract_target 'Pods' do
  pod 'Alamofire'
end

abstract_target, belirli bir Xcode hedefine bağlı kalmadan paylaşılan bağımlılıklar için sanal bir hedef oluşturur. Ruby koşullu yapıları, Debug ve Release yapılandırmaları için farklı kütüphaneler dahil etmeye olanak tanır. Yerel kütüphane ile :path, geliştirmeyi hızlandırır — değişiklikler pod install yeniden başlatılmadan uygulanır. :branch modu, resmi sürümden önce değişiklikleri test etmek için kullanışlıdır.

CocoaPods vs Swift Package Manager vs Carthage

CocoaPods, Swift Package Manager (SPM) ve Carthage, iOS geliştirmedeki üç ana bağımlılık yöneticisidir. Her birinin kendi mimarisi, entegrasyon yaklaşımı ve kontrol düzeyi vardır. CocoaPods kütüphane sayısında liderdir, SPM Xcode'a entegre desteğiyle kazanır, Carthage popülerlikte geridedir ancak maksimum kontrol sağlar.

KriterCocoaPodsSPMCarthage
Yapılandırma diliRuby DSLPackage.swift (Swift)Cartfile
Xcode entegrasyonuÇalışma alanı aracılığıylaEntegreManuel (xcframeworks)
Kütüphane sayısı100.000+~65.000~20.000
Geçişli bağımlılıklarOtomatikOtomatikManuel
Kaynak desteğiEvet (resource bundles)Evet (Resources)Hayır
Kurulum hızıOrtaHızlıHızlı
SürümlemeGemfile.lockPackage.resolvedCartfile.resolved

CocoaPods, maksimum kütüphane uyumluluğu gerektiren projeler için tercih olmaya devam ediyor (birçok eski kütüphane yalnızca CocoaPods aracılığıyla kullanılabilir). SPM yeni projeler için önerilir — Xcode'a entegredir, ek araç gerektirmez ve Apple tarafından desteklenir. Carthage nadiren kullanılır, esas olarak Xcode yapılandırmasına minimum müdahale gerektiren projeler için. 2024'ten bu yana Apple, SPM'yi aktif olarak geliştiriyor ve birçok popüler kütüphane (Alamofire, Firebase, SnapKit) zaten CocoaPods'un yanı sıra SPM'yi de destekliyor.

CocoaPods'tan SPM'ye geçiş, pod deintegrate (CocoaPods'u kaldırma) ve Xcode'da File → Add Package Dependencies aracılığıyla paket ekleme ile yapılır. Temel zorluklar: kaynakları (yazı tipleri, resimler, storyboard) olan kütüphaneler farklı davranabilir ve CocoaPods eklentilerinin (örneğin kod oluşturma için) SPM'de karşılığı yoktur. Kod oluşturma, kaynak paketleri ve post_install kancaları aracılığıyla özel derleme aşamaları gibi CocoaPods'a özgü özellikler gerektiren projeler için CocoaPods'un korunması önerilir.

Yaygın Sorunlar ve Çözümleri

CocoaPods istikrarlı bir araçtır, ancak geliştiriciler ara sıra tipik sorunlarla karşılaşır. Çoğu Ruby sürümleri, önbelleğe alma veya bağımlılık çakışmalarıyla ilgilidir. Aşağıda en yaygın senaryolar ve çözümleri verilmiştir.

«The sandbox is not in sync with the Podfile.lock» hatasıpod install çalıştırılmadan önce Podfile.lock depoda değiştirildiğinde oluşur. Çözüm: pod install veya pod deintegrate && pod install çalıştırın. CI ortamları için, derleme komut dosyasına pod install eklenmesi önerilir. Diğer bir yaygın neden, geliştiriciler arasındaki CocoaPods sürüm farkıdır: tüm makinelerde pod --version kontrol edin.

Specs kaydını güncelleme hatası — genellikle ağ sorunları veya eski bir Git deposu nedeniyle oluşur. Çözüm: pod repo update --verbose ayrıntıları gösterir. Specs bozuksa: rm -rf ~/.cocoapods/repos/master && pod repo add master https://github.com/CocoaPods/Specs.git. Yavaş internet için CDN kullanabilirsiniz — CocoaPods 1.8+'dan itibaren varsayılan olarak etkindir.

Yinelenen sembol hatası — bir kütüphane iki kez eklendiğinde veya pod'lar arasında sembol çakışması olduğunda oluşur. Çözüm: Podfile'ı yinelenenler için kontrol edin, sembolleri ayırmak için use_frameworks! :linkage => :static kullanın. Sorun kütüphanedeyse, yazara bildirin. Bazen Derived Data'yı temizlemek ve Xcode'u yeniden başlatmak yardımcı olur.

Apple Silicon Mac'te CocoaPods kurulamıyor — macOS'ta önceden yüklenmiş Ruby, Rosetta 2 aracılığıyla çalışarak derleme hatalarına neden olur. Çözüm: yerel ARM64 mimarisi için rbenv veya asdf aracılığıyla Ruby yükleyin. Alternatif: Homebrew kullanın — brew install cocoapods otomatik olarak ARM64 için derler. Gem'ler x86_64 için yüklenmişse, arch -arm64 sudo gem install cocoapods komutu sorunu çözer.

Yavaş pod kurulumu — büyük projelerde pod install dakikalar alabilir. Çözüm: tanılama için --verbose etkinleştirin. Specs zaten güncelse --no-repo-update kullanın. CI sunucuları için Pods/ klasörünü ve ~/.cocoapods önbelleğe alın. CocoaPods 1.12+'da, install! 'cocoapods', :parallel_download => true ile paralel indirme mevcuttur.

SorunNedenÇözüm
Sandbox not in syncPodfile.lock değiştipod install
Specs deposu bozukGit hatasıSpecs'i yeniden yükle
Yinelenen sembollerKütüphane çakışmasıuse_frameworks! :static
Apple Silicon'da hataRosetta altında RubyHomebrew / rbenv ARM
Yavaş kurulumBüyük bağımlılık grafiğiParalel indirme, önbellek

Sıkça Sorulan Sorular

CocoaPods nedir ve bir iOS geliştiricisi neden buna ihtiyaç duyar?

CocoaPods, Apple projeleri (iOS, macOS, watchOS, tvOS) için bir bağımlılık yöneticisidir. Üçüncü taraf kütüphanelerin indirilmesini, yapılandırılmasını ve entegrasyonunu otomatikleştirir. Dosyaları manuel olarak kopyalamak ve derleyici işaretlerini yapılandırmak yerine, Podfile'a bir satır pod 'LibraryName' eklemek ve pod install çalıştırmak yeterlidir.

Podfile ve Podfile.lock arasındaki fark nedir?

Podfile, geliştiricinin yazdığı bir yapılandırma dosyasıdır: kütüphane adlarını ve sürüm operatörlerini (~> 5.9, >= 2.0, tam sürüm) içerir. Podfile.lock otomatik olarak oluşturulur ve yüklü tüm bağımlılıkların tam sürümlerini sabitler. Podfile.lock Git'te saklanmalıdır — ekip üyelerinin aynı sürümleri kullanmasını sağlar.

CocoaPods'tan Swift Package Manager'a nasıl geçilir?

Proje klasöründen terminalde pod deintegrate çalıştırın — CocoaPods .xcworkspace, yapılandırma dosyalarını ve derleme ayarlarını kaldıracaktır. Ardından Xcode'da .xcodeproj dosyasını açın, File → Add Package Dependencies'e gidin ve gerekli paketleri ekleyin. SPM, ek kurulum gerektirmeyen Apple'ın yerleşik çözümüdür.

CocoaPods ve Swift Package Manager aynı projede kullanılabilir mi?

Evet, CocoaPods ve SPM aynı projede bir arada bulunabilir. CocoaPods bağımlılıkların bir kısmını .xcworkspace aracılığıyla yönetirken, SPM Xcode'daki Package Dependencies'i yönetir. Ancak, geçişli bağımlılık çakışmaları mümkündür: her iki sistem aynı kütüphanenin farklı sürümlerini dahil etmeye çalışırsa derleme başarısız olur. Tüm bağımlılıklar için tek bir yönetici kullanılması önerilir.

CocoaPods aracılığıyla kendi kütüphanenizi nasıl oluşturur ve yayınlarsınız?

Kütüphaneyi tanımlayan bir .podspec dosyası oluşturun. Yerel doğrulama için pod spec lint çalıştırın. pod trunk register email name ile kaydolun. pod trunk push YourLib.podspec ile spec'i yayınlayın. CocoaPods, kütüphanenizi otomatik olarak merkezi Specs kaydına ekleyecektir — yayınlandıktan sonra tüm geliştiriciler pod 'YourLib' ile kullanılabilir.

Özet

  • CocoaPods — 100.000+ kütüphane ve Podfile entegrasyonu ile iOS için en popüler bağımlılık yöneticisi
  • Podfile — sürümleme, koşullu dahil etme, yerel bağımlılıklar ve post_install kancalarını destekleyen Ruby yapılandırması
  • Podspecpod trunk push ile kayıt defterine kütüphane yayınlamak için özellik dosyası
  • Podfile.lock tam sürümleri sabitleyerek ekibin tüm makinelerinde derleme tekrarlanabilirliğini sağlar
  • Kurulum gem install cocoapods ile, ayarlama pod init ve pod install ile
  • CocoaPods vs SPM vs Carthage: CocoaPods kütüphane sayısında lider, SPM Xcode entegrasyonunda lider, Carthage her açıdan geride
  • Yaygın sorunlar (sandbox senkronizasyonu, Specs bozulması, yinelenen semboller) pod install, önbellek temizleme ve çerçeve yapılandırması ile çözülür

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun