Hello World

CodeTengu Weekly 碼天狗週刊

CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一 AM 10:00 出刊,每週會由三位 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到感興趣的東西,可能下一期就有了。你也可以瀏覽一下前幾期的內容

目前的 curator 陣容:

你也可以關注我們的 FacebookTwitterGitHubOpen Source 專案,有很多 weekly 看不到的內容。有任何建議也歡迎來 Gitter 聊聊。

致力於解決開發者之間的資訊不對稱  

@saiday

CocoaPods 的 use_framework! 是在 use 什麼 framework?

最近跟朋友聊到 CocoaPods 的 use_framework! attribute 時驚覺自己不清楚為什麼要用 Framework 才能讓 CocoaPods 整合 Swift project。
考察之後對 Framework 跟 Static Library 這兩種 Cocoa Touch 支援的依賴引入方式更認識了一點,跟大家分享一下。

CocoaPods 以往預設是會把依賴編譯成 Static Library,當時 Swift 不支援編譯 Static Library 所以就得用 Framework 的方式來引入,不支援的原因就是 iOS 版本沒有 Swift runtime,詳細可以參考 CocoaPods 0.36 release notes

Framework 跟 Static Library 是兩種不同的依賴引用方式,沒有誰比較先進的問題,取決於使用情境。
但以 app 開發者來說,要特別注意 Dynamic Framework 會使你的 app 啟動時間變長,因為在 app 啟動時才由 dyld 載入 framework (參考:How we cut our iOS app’s launch time in half),開發中也需要花時間去 compile 這些依賴,如果是 Static Library 或 Static Framework 就沒這些問題。

CocoaPods 已經支援 Static Framework,也在做 Static Library 相關支援 了,用 Swift 及 CocoaPods 開發的人可以關注一下。

 



@fukuball




@mingderwang