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 :


https://www.mobiler.dev/post/cocoapods-kullanimi


Görsel Referansı


CarthageCocoaPods yapısı için Pod'a alternatif başka bir 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 linki de Cartfile dosyamıza ekliyoruz.


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. Biz de 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 eklediğimiz 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.




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.


Evet arkadaşlar, bu yazıda 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 🙂


#carthage #cocoapods #swift #ios


Komünite

Platform

  • Twitter
  • Instagram
  • development_düzenlendi_düzenlendi
  • Youtube
  • slack-icon-black_edited_edited_edited
  • Gri LinkedIn Simge
JetBrains.png

© 2020 by mobiler.dev

mobilerdevLogo.jpg
mobiler-17.png
mobiler-17.png