本期導(dǎo)讀:本期周報(bào)主要包括平安好房APP在模塊化架構(gòu)推進(jìn)過程中遇到的一些有意思的技術(shù)問題坡贺,當(dāng)然也有一點(diǎn)點(diǎn)關(guān)于WWDC 16的資訊(開發(fā)者版)帽哑。
資訊
1) WWDC 2016 新系統(tǒng)發(fā)布會(huì)5分鐘無廢話版簡(jiǎn)介
蘋果還宣布了一個(gè)為 Flash/SSD儲(chǔ)存設(shè)備優(yōu)化的新文件系統(tǒng)Apple File System(APFS)述寡,希望對(duì)我那臺(tái)老MBP有所幫助(前不久剛自己動(dòng)手換了SSD)旺坠。APFS預(yù)計(jì)將在2017年發(fā)布乎芳,暫不會(huì)提供它的開源實(shí)現(xiàn)沪编。
技術(shù)人員的目光不要被各類媒體的無腦小編帶偏宛逗,至于其他方面的更新坎匿,此處不表,冷嘲也好雷激、熱諷也罷替蔬。
2) 關(guān)于 WWDC 16 總得說點(diǎn)什么
開發(fā)者記錄的一些感想,作者曾在QQ音樂團(tuán)隊(duì)獨(dú)立完成Apple Watch端第一個(gè)版本屎暇,目前在阿里巴巴承桥。
開發(fā)
1) NSInvocation returns value but crash the app
在平安好房APP推進(jìn)模塊化架構(gòu)過程中,對(duì)一些曾經(jīng)使用MRC的代碼做了ARC遷移根悼。冷不丁的被NSInvocation調(diào)用給坑了一把凶异。
在ARC模式下蜀撑,getReturnValue:僅僅是從invocation的返回值拷貝到指定的內(nèi)存地址,如果返回值是一個(gè)NSObject對(duì)象的話剩彬,是沒有處理內(nèi)存管理的酷麦。而我們?cè)诙xreturnValue時(shí)使用的是__strong類型的id類型,ARC就會(huì)假設(shè)該內(nèi)存塊已被retain(實(shí)際沒有)喉恋。當(dāng)returnValue出了定義域贴铜,被釋放時(shí),導(dǎo)致crash瀑晒。
2) performSelector may cause a leak because its selector is unknown
依舊是ARC遷移相關(guān)绍坝。在遷移到ARC之后,編譯器給出了一個(gè)可能leak的警告苔悦。仔細(xì)研究后轩褐,決定采用SuppressPerformSelectorLeakWarning宏解決。
3) Creating and Distributing iOS Frameworks
文章介紹了Framework模板的用法玖详,特別是如何在項(xiàng)目中使用新建的Framework把介,其中的方案在好房統(tǒng)計(jì)SDK開發(fā)、架構(gòu)演進(jìn)過程中均實(shí)踐過蟋座。
工具
1) CocoaPods中一些問題的解決
上一期周報(bào)提到過拗踢,目前不少公司模塊化架構(gòu)采用的CocoaPods方案。在使用CocoaPods的過程中難免遇到各類問題向臀,翻翻這篇文章的總結(jié)巢墅,相信你會(huì)有些收獲。
2) Achieving Awesomeness with Local CocoaPods
作者(曾經(jīng)是Twitter for Apple Watch的負(fù)責(zé)人)介紹了使用私有Pods的一些思考券膀,有一段話非常贊同:
While this approach works great if your Pods are stable, I’ve found that this doesn’t work too well if your Pods are still in active development; keeping them in lockstep with your application code can be a huge pain, particularly on larger teams with multiple feature branches.
3) Octopress與El Capitan沖突問題解決方案
近一年沒有寫blog君纫,近一年沒有用Octopress,所以與El Capitan沖突的問題也是上周末才知道芹彬。
小結(jié)一下:新系統(tǒng)下需要新的依賴庫蓄髓,而這些庫需要ruby2.2.3的版本安裝。
其他
1) 注冊(cè)在開曼的公司舒帮,其期權(quán)究竟能不能買会喝?
2) 文摘
人生的困擾大抵來自四個(gè)方面:不可避免的死亡,內(nèi)心深處的孤獨(dú)感玩郊,我們追求的自由以及生活并無顯而易見的意義可言肢执。
@end