Bir çerçevenin statik kütüphanelere göre en büyük avantajı, derlenmiş kütüphane ikili dosyasını ve ilgili başlıkları paketlemenin düzgün bir yolu olarak hareket etmeleridir. Projenize bırakılabilirler (tıpkı SDK'nın Vakıf ve UIKit gibi yerleşik çerçeveleri gibi) ve sadece çalışmalıdırlar (çoğu zaman).
Çoğu çerçeve dinamik kütüphaneler içerir; Mac Framework şablonu kullanılarak Xcode'da oluşturulan çerçeveler dinamik bir kütüphane oluşturur. İPhone dinamik çerçeveleri desteklemiyor, bu yüzden iOS kodunun yeniden kullanılabilir kitaplıklarının statik kitaplıklar olarak dağıtılması yaygınlaştı.
Statik kütüphaneler iyidir, ancak kullanıcının biraz fazladan çalışması gerekir. Projenizi kütüphaneye bağlamanız ve üstbilgi dosyalarını projenize kopyalamanız veya derleme ayarlarınızda uygun üstbilgi arama yollarını ayarlayarak bir yere başvurmanız gerekir .
Özetle, bence kitaplığınızı dağıtmanın en iyi yolu bir çerçeve. İOS için "statik" bir çerçeve oluşturmak için, normalde normal bir çerçeve alabilir ve ikili dosyayı derlenmiş statik kitaplığınızla değiştirebilirsiniz. Kütüphanelerimden biri olan Resty'yi bu şekilde dağıtırım ve gelecekte kütüphanelerimi bu şekilde dağıtmayı planlıyorum.
Bu projede sağlanan Rakefile'a bakmak isteyebilirsiniz (farkında değilseniz, Rake, Ruby'nin Make eşdeğeridir). Projemi derlemek (kullanmak xcodebuild
) ve iOS için statik bir çerçeve olarak paketlemek için birkaç görevim var . Bunu faydalı bulmalısınız.
Alternatif olarak, bu Xcode 4 şablonlarını bir iOS çerçevesi oluşturmak için kullanmak isteyebilirsiniz .
Güncelleme 9 Aralık 2013 : Bu popüler bir cevap, bu yüzden kütüphane dağıtımı için ilk tercihimin değiştiğini söylemek için düzenleme yapacağımı düşündüm. Tüketici ya da üretici olarak herhangi bir üçüncü taraf kütüphanesi için ilk tercihim CocoaPods. Kütüphanelerimi CocoaPods kullanarak dağıtıyorum ve bir yedek seçenek olarak üstbilgileri olan önceden derlenmiş statik bir kitaplık sunuyoruz.