「 知識小集 」2019 · 第 2 期

知識小集發表於2019-01-21

原文連結

本週主題:Network.framework

Network.framework 是 Apple 在 WWDC 2018 推出的一款新的網路框架,這個框架具備智慧建立連線、優化資料傳輸、內建的安全加密、無縫相容行動網路、原生 Swift 支援等特性,可以完全替換原有的 Socket API。URLSession 底層就是使用 Network.framework 完成基礎連線的。不過目前相關的文章還比較少,就連官方文件也是語焉不詳,很多類都沒有詳細的說明,而是隻給了一個大體內容。不過相信這個框架在後面會更多的用途。

本週內容

本週我們做了次送書活動,活動於昨日晚 8 點截止,中獎結果如下:

感謝大家的熱情留言和建議,我們會詳細整理留言中的內容,以便後期為大家提供更好的內容。

本期公眾號的主要內容有:

這周小集的內容有:

  • Xcode更新輸入賬號密碼,賬號卻不是自己的
  • Framework 中混編時 umbrella header 設定注意事項
  • xcrun simctl delete unavailable 命令使用
  • 使用strong而不是assign修飾dispatch物件
  • 關於UIStackView的一個小知識點
  • This block declaration is not a prototype 編譯警告處理

更多內容可以檢視我們的小程式,或者 Github github.com/awesome-tip…

文章

使用 iOS 12 的 Network Framework 實現 netcat

文章以實現一個 netcat 命令列工具,來演示 Network Framework 的使用。這其中包括建立並監聽 inbound 連線和 outbound 連線,並後續如何發起雙向資料傳輸,獲取資料等。另外文章還附帶演示了 TLS 和 Bonjour 的一些使用。

Network.framework: A modern alternative to sockets (apple.com)

這是一個社群的討論,大體是現有網路技術的一些問題,裡面涉及為什麼蘋果會推出 Network.framework,以及這個框架解決的問題和優勢,和 BSD sockets 等存在什麼的關係。討論非常長,需要耐心閱讀。

NIOTransportServices: SwiftNIO and Network.framework

SwiftNIO 是 Apple 開源的一個跨平臺的非同步事件驅動的網路應用程式框架,用於快速開發可維護的高效能協議伺服器和客戶端。

而 Network.framework 為則為 NIO 提供了許多強大的工具,包括更豐富的連線生命週期,對使用者空間 TCP 堆疊的訪問,以及對在 iOS 和 tvOS 上執行的完全支援。 此外,它還支援 SwiftNIO 主線目前不支援的強大網路技術,例如MPTCP。最後,它提供了與 Apple 平臺 TLS 實現的一流整合,允許使用者避免在 Apple 平臺上使用 OpenSSL 或 LibreSSL 的負擔。

開原始碼

Connectivity

Connectivity 的主要用途是檢測網路連線是否可用,即我們通常所使用的蘋果的官方示例 Reachability 提供的功能。Connectivity 在 Reachability 的基礎上提供了更多的功能,如對 Captive portal 的檢測等。而 Connectivity 2.0.0 則是提供了對 iOS 12 及更高版本上 Network.framework 的支援。要使用此功能,只需要將 framework 屬性設定為 .network。

視訊

Network.framework 是在 WWDC 2018 推出的,Apple 有一個專門的 Session 來介紹這個框架,

新的 Network.framework API 讓我們可以直接訪問 URLSession 使用的相同高效能使用者空間網路堆疊。如果您正在考慮在應用程式或庫中使用 Berkeley Sockets,則可以先了解下這個框架。

而在其它地方,暫時沒有找到與這框架相關的一些視訊。

職位

職位持續更新中。

  • 北京-百度網盤 持續招 iOS 開發:社招、應屆、實習均可。專案在技術上很有挑戰性,團隊技術氛圍極好。誠心希望各路大神前來切磋,也歡迎計算機基礎好的小白來共同學習。簡歷發郵箱 xuyafei01@baidu.com,暫不考慮的也歡迎微博私信 @小非86 聊聊~
  • 北京-螞蟻金服 招iOS/安卓/前端開發:負責支付寶會員及帳號業務線,地點北京國貿,金臺夕照地鐵站出口 100 米。有興趣的同學歡迎將簡歷傳送到:weijing.wdf@alibaba-inc.com / weijing.wdf@antfin.com (同一個郵箱)或者微博私信 @折騰範兒_味精 瞭解情況。
  • 上海即刻:如果你認識聰明勤奮、膽大心細、有追求的工程師,那就來加入我們吧!任何推薦或簡歷可直接發給 Jason(即刻 iOS leader): jasy@okjike.com,或微博 @JasonYuh
  • 杭州奇志科技招聘 iOS、前端:奇志科技自 2016 年起通過行業無人機協同工作流 Mesh 進入物聯網與人工智慧領域, 併成功為房地產、建築、測繪、電力巡檢等行業提供無人機解決方案。感興趣可以微博上私信 @沒故事的卓同學 瞭解。
  • 深圳頭條研發中心誠招各路 iOS 好手一起做取悅自己的專案:如想了解更多深圳頭條的資訊,可以加小T微信:tomtan,切磋技術和聊情懷都可以喔~~~~
  • 北京位元組跳動 iOS 團隊持續招人中:簡歷可以傳送到郵箱 raozhizhen@gmail.com,或者新增我(@AidenRao)的微信 jingmu1994 瞭解更多公司及崗位資訊。
  • 北京百度教育事業部招 iOS 開發:百度教育事業部,地點:北京西二旗。部門下面有百度閱讀,百度文庫,百度愛聽等 App 產品。團隊技術氛圍濃厚,有興趣的同學歡迎將簡歷傳送到我的郵箱:lizelei@baidu.com

關注我們

歡迎關注我們的公眾號:iOS-Tips,也歡迎加入我們的群組討論問題。可以公眾號留言 iosflutter 等關鍵詞獲取入群方式。

「 知識小集 」2019 · 第 2 期

相關文章