iOS 移動開發周報 - 第 47 期

LukeKnight 8年前發布 | 6K 次閱讀 iOS開發 移動開發

上周關于 Dash 被蘋果下架的事情有了來自 蘋果的解釋 ,蘋果說 Dash 進行了刷榜,具體來說,是在 Dash 的評價中發現了一些明顯帶有欺騙性的評分。蘋果同時說這個決定是最終的,并且不可申述(final and can’t be appealed),所以這件事情可能最終的結果就是這樣了。

我們從這件事情中可以看出,蘋果對于刷榜的行為變得越來越嚴厲了。但是在國內,刷榜的行為還是普遍存在,而且大多數都沒有受到懲罰。例如,我們公司的三款產品都沒有刷榜,但是我們的競爭對手其實都有明顯的刷榜行為。希望蘋果能夠有機會也整治一下國內的環境,讓大家都在一個公平的環境中競爭。

Swift 4

是的,Swift 4 開始開發了,在 Swift 4 在 GitHub 的主頁上,蘋果公布了 Swift 4 的主要目標 。時間上,蘋果計劃在 2017 年晚些時候正式發布 Swift 4。蘋果希望將 Swift 4 的開發分為兩個階段:

  • 第一階段:關注于核心的一些需求,以及 ABI 的穩定性。蘋果不希望在 Swift 4 中引入 ABI-breaking 的改變。

  • 第二階段:該階段希望在 2017 年春能夠開始討論,在第一階段的任務完成后,可以增加一些或大或小的新特性。

iDev 大會

? iDev 大會 是一場由開發者自己辦的技術會議,會議內容主要面向蘋果的開發者,我是這次會議的出品人。

今年 iOS 的話題其實集中在 Swift 語言、函數式編程、跨平臺方案,所以這方面的話題本次大會都有涉及。另外 iOS 安全一直是被人們較為忽視的一個方面,本次大會我在這方面也特別有設計議題討論。

考慮到 iDev 大會希望涉及蘋果全平臺的技術,所以本次大會我們也安排了關于 macOS、watchOS 和 HomeKit 的議題。

對了,購票時輸入我的優惠碼:tangqiao,可以獲得折扣票價再打 85 折喲。

文章

閉包的 escaping 與 non-escaping

Optional Non-Escaping Closures : 本文討論了 Swift 中的閉包的 escaping 的情況。所謂 escaping,就是指閉包在作為參數,傳遞給相應函數之后,相應函數執行完成了,但是閉包可能還需要被調用。所以,這個閉包似乎是逃離(escaping)了函數的作用時間。因為按理說函數執行完了,相應的參數應該就沒用了,但是對于 escaping 的閉包,卻不是這樣。

什么情況下會出現這種情況呢?最常見的場景就是異步調用。比如我們發起一個網絡請求,傳入了一個閉包作為回調參數。這個閉包顯然需要在網絡請求結束時,才會被調用,這就是一個 escaping 的閉包。類似的還包括:我們把一些閉包放到 GCD 提供的 Dispatch Queue 中,也會造成 escaping 的閉包。

在本文中,作者討論了一種比較特別的現象:只要一個閉包是 Optional 的,則它一定會是一個 escaping 的閉包。作者討論了產生此問題的原因,并且提供了一些解決方案。

把第三方 iOS 應用轉成動態庫

《黑科技:把第三方 iOS 應用轉成動態庫》 ,本文介紹了一個自己寫的工具,能夠把第三方 iOS 應用轉成動態庫,并加載到自己的 App 中,文章最后會以支付寶為例,展示如何調用其中的 C 函數和 OC 方法。另

視頻

本周視頻推薦 objc.io 出的一期視頻: 手寫一個 Parser 。

工具

本周推薦的工具,是一個 Xcode 8 的效率工具。它可以方便你在任何時候輸入需要 import 的內容。其實這類工具在別的平臺都是 IDE 自動提供的,以前我在用 Eclipse 寫后臺的時候,用了一個需要 import 的庫的類,只需要按 cmd + shift + o,IDE 就會自動把這些需要 import 的頭文件幫你填上,以節省時間。Xcode 在這方面,還有挺多需要加強的。Anyway,Xcode 的 extension 這個機制也讓我們能夠自己動手豐衣足食了。

該工具在 GitHub 上的地址是 Import ,以下是使用起來的效果動畫:

 

來自:http://blog.devtang.com/2016/10/16/ios-weekly-47/

 

 本文由用戶 LukeKnight 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!