Carthage Kullanımı

Merhabalar Arkadaşlar, bugünkü yazımda sizlere Carthage kullanımından bahsedeceğim. Hazırsanız haydi yazımıza başlayalım 🙂

CocoaPods Kullanımında görmüş olduğumuz kütüphaneleri projelerimize pod ile nasıl ekliyorsak bir benzer yapıda Carthage kullanarak eklemektir. CocoaPods ile ilgili yazıyı okumadıysanız aşağıdaki linkten yazıya erişip, inceleyebilirsiniz :

CocoaPods Kullanımı

CarthageCocoaPods yapısı için Pod dan sonra başka bir diğer bağımlılık yöneticisidir(dependency manager). Carthage, Xcode projelerinizde hiçbir şeyi değiştirmeden, iOS bağımlılıklarınızı yönetmek için tamamen Swift diliyle yazılmış bir yapıdır. Carthage, xcodebuild aracını kullanarak bağımlılıkları indirir ve oluşturur, ancak Proje dosyasını ya da CocoaPods’lar gibi Xcode proje oluşturma ayarını değiştirmez. 


Carthage Kurulumu

Kısaca Carthage nedir onu öğrendikten sonra artık bilgisayarlarımıza bu yapıyı kurmaya başlayabiliriz :

  • Carthage’ın Github hesabına gidiyoruz.

https://github.com/Carthage/Carthage

  • Linke girdikten sonra releases(ürünler) kısmına tıklıyoruz.

En son sürümü tıklayarak yukarıdaki alana gidiyoruz. Alanda bulunan “Carthage.pkg”dosyasına tıklayarak indirmeye başlıyoruz.

Carthage’ı bilgisiyarımıza indirdikten sonra install ekranında next next geçerek rahatlıkla kurmuş olduk.


CocoaPods örneğinde yapmış olduğumuz gibi yine MBProgressHUD kullanımı ile ilgili örnek yapacağız. Öncelikle bir proje açıyoruz. Daha sonra projemizin bulunduğu klasöre gidip terminal ekranında aşağıdaki adımları gerçekleştiriyoruz :

touch Cartfile

touch komutuyla projemizin bulunduğu dosyada Cartfile dosyası oluşturduk.

open -a Xcode Cartfile

Terminal komutuyla birlikte bu Cartfile dosyasını açtık.

Bu dosyayı açtıktan sonra yapmamız gereken işlem projemizde kullanmak istediğimiz MBProgressHUD kütüphanenin Carthage linkini buluyoruz. Bulduğumuz linkide Cartfile dosyamıza ekliyoruz.

carthage update

Eklediğimiz kütüphaneyi save ettik ve son olarak update diyerek projemizde MBProgressHUD yapısını kullanabilmek için bize onun dosyalarını klonladı.


Klonlama işlemlerinden sonra bu kütüphaneyi Xcode içerisinde göstermemiz gerekiyor 2 adımda bu işlemi yapacağız.

Uygulamanın General kısmına gidip en altta bulunan Linked Frameworks and Libraries kısmına gidip + butonuna basıyoruz. Bize hangi kütüphaneyi eklememizi istediğini soruyor. Bizde klon ettiğimiz MBProgressHUD ekleyeceğimiz için projedeki yolunu gösteriyoruz.

Bu işlemi yaptıktan sonra artık ikinci işleme geçebiliriz. En üstte bulunan Build Phases kısmına tıklıyoruz.

Resimdeki seçili alana tıklıyoruz. Tıkladığımız alanda uygulama çalışırken eklemiş olduğumuz kütüphanelerin kopyalarını alarak çalıştır demiş oluyoruz. Bu işlemi her yeni kütüphane eklemesinde yapmak zorundayız yoksa eklenen kütüphane tanınmaz.

Kütüphane ekleme ayarlarınıda yaptıktan sonra artık kod kısmına geçebiliriz 🙂


import UIKit
import MBProgressHUD

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()      
        MBProgressHUD.showAdded(to: self.view, animated: true)
    }
}

Swift dosyamızda kütüphaneyi kullanabilmek için import ettik. Uygulama açıldığında progress çalışması için viewDidLoad fonksiyonunun içine MBProgressHUD nesnesini animasyonlu bir şekilde ekledik.

Uygulamamızı başarılı bir şekilde gerçekleştirmiş olduk. Son olarak CocoaPods ile Carthage ne gibi farklılıkları var hep birlikte bakalım 🙂


Carthage VS CocoaPods

Carthage

  • Kütüphaneleri elle eklediğimiz için yönetimi daha kolaydır.
  • Hata ayıklaması daha kolaydır.
  • Projelere entegre edilmesi oldukça kolaydır ve aynı şekilde projedeki birkaç hatanızla beraber bozulmasıda bir hayli kolaydır.
  • .xcodeworkspace kullanmanıza gerek yok.
  • Bünyesinde çok fazla kütüphane bulundurduğu için manuel olarak eklemek zorunda kalabilirsiniz. Örnek olarak eski kütüphaneler verilebilir.
  • Swift programlama diliyle yazılmıştır.

CocoaPods

  • Kullanımı oldukça kolaydır.
  • Bütün podlar tek bir project file altında .xcodeworkspace içinde toplanmaktadır
  • Hata ayıklaması Carthage’a göre daha zordur.
  • Bünyesinde çok fazla framework bulundurmaktadır
  • Projelerinizi entegre etmeniz oldukça kolay ve bu yapıyı bozmanız ise oldukça zordur.
  • Ruby programlama diliyle yazılmıştır.

Projenin kodlarına aşağıdaki adresten ulaşabilirsiniz. Projeye destek olmak açısından starlarsanız sevinirim 🙂

Carthage

Evet arkadaşlar, bu yazımda ise sizlere Carthage kullanımından bahsettim, örnek yaptık ve CocoaPods ile arasında ne gibi farklar var bunlara baktık. Gelecek yazılarda görüşmek üzere hoşçakalın 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir