『壹』 iOS 14出現無法連接Wi-Fi網路,三步教你解決問題
前不久,蘋果正式發布iOS 14,隨後也慢慢適配到了部分機型中。最近一段時間,相信大家也能看到,新系統的出現帶起一陣熱潮,什麼充電提示音、自定義桌面設置,打開抖音短視頻軟體,全是這些功能介紹的推送。
但根據部分網友的反饋來看,iOS 14並不是那麼完美,其還是存在一些大大小小的漏洞。有網友表示,在更新升級到iOS 14後,手機經常會出現無法連接Wi-Fi網路的問題。根據網友反饋情況來看,這些問題出自原因很有可能是新系統存在的BUG,下面,就為大家提供一些解決這類問題的小技巧。
第一個小技巧非常簡單,如果出現無法連接Wi-Fi網路的情況,大家可以嘗試重新啟動自己的iOS設備,這是最簡單直接的方法。但如果這個方法嘗試無效後,大家可以緊接著嘗試下一個方法。
蘋果為iOS 14更新了許多功能,其中有可能對Wi-Fi造成影響的原因就是無限區域網默認開啟了「私有地址」的開關。如果手機出現無法連接Wi-Fi網路的情況,大家可以在手機上關閉私有地址的設置,具體操作步驟如下:
打開設置-無線區域網,點擊當前的Wi-Fi網路旁邊的「i」圖標,然後關閉私有地址,選擇重新加入網路即可。
如果以上兩種方法都不能解決問題,那大家也可以嘗試還原網路設置:點擊設置-通用-還原-還原網路設置。這個操作只會還原之前保存的Wi-Fi網路信息、蜂窩網路設置以及VPN和APN設置,不會對你的個人保存信息造成任何影響,大家可以放心嘗試。
如果這些方法嘗試都無效的話,那麼大家就不用考慮手機問題了,那就說明問題是出在路由器上了。至於路由器的解決方法,大家可以嘗試重啟設備等相關操作,這里我就不多做介紹了。那麼,針對iOS 14無法連接Wi-Fi網路這一問題,大家還有什麼好的解決辦法呢?
『貳』 關於iOS 14 Local Network許可權問題
在iOS 14系統中蘋果新增加了本地網路的授權,本地網路(Local Network)是在當app使用Bonjour服務或者訪問本地區域網時需要用戶授權,如:
Network.framework(NWBrowser,NWListener.Service)
Foundation(NetService)
MultipeerConnectivity(藍牙)
Dnssd(發現,發布和解析區域網或廣域網上的網路服務)
Bonjour主要做本地通信和智能交互的。
通常我們是通過 NSNetService 和 NSNetServiceBrowser 來使用 Bonjour 的,前者用於建立與發布 service,後者用於監聽查詢網路上的 service。
在我們的項目中因為使用了第三方KTVCocoaHTTPServer,在查看其中源碼發現這個庫中使用了NSNetService:
因此在用戶第一次啟動項目是會彈出本地網路授權的提示。
驗證環境:
iPad iOS 14
Xcode 11
通過把本地網路許可權關閉去驗證是否對項目有影響:
1、我們項目之所以會提示本地網路授權是因為KTVHTTPCache依賴於KTVCocoaHTTPServer,是因為KTVHTTPCache使用的音視頻緩存方案:本地實現http service。
在iOS本地開啟Local Server服務,然後使用播放控制項請求本地Local Server服務,本地的服務再不斷請求視頻地址獲取視頻流,本地服務請求的過程中把視頻緩存到本地,大體的思路是這樣的。而實現loacl Service要基於Bonjour庫,通過 Bonjour,一個應用程序 publish 一個網路服務 service,然後網路中的其他程序就能自動發現這個 service,從而可以向這個 service 查詢其 ip 和 port,然後通過獲得的 ip 和 port 建立 socket 鏈接進行通信。通常我們是通過 NSNetService 和 NSNetServiceBrowser 來使用 Bonjour 的,前者用於建立與發布 service,後者用於監聽查詢網路上的 service,因此在iOS14設備上邊提示了本地網路授權。
2、為了驗證關閉本地網路授權是否會對項目有所影響,先找到KTVHTTPCache庫在項目中的緩存目錄:tmp->KTVHTTPCache,最新安裝的app並沒有任何緩存,然後運行app,播放視頻再次查看緩存目錄下有了視頻緩存,目前調研結果是關閉本地網路許可權並不會對我們項目產生影響。
使用另外一種方案:
使用IOS原生API ,使用 AVAssetResourceLoader,在不改變 AVPlayer API 的情況下,對播放的音視頻進行緩存。
這種方案只能是使用AVPlayer才可以,使用第三方播放器除非它也暴露出了類似於AVAssetResourceLoader這樣的協議。
相關三方很多 VIMediaCache https://github.com/vitoziv/VIMediaCache
這種方案測試不會提示本地網路授權管理
『叄』 iOS 14 LocalNetwork
如果問iOS 14 最大的更新是什麼?當APP用到手機相機、麥克風等工具時,iPhone都會做出相應的提示,以便讓我們知曉這些APP正在使用什麼工具,知曉是否會泄露我們的隱私。
說到隱私許可權,就不得不提一下iOS 14 新增的「本地網路」許可權,這個許可權直接就刷新了我對iOS 安全性的認知。當我們首次打開APP時,就會跳出一個提示框,是否給予「本地網路」許可權,但不少用戶發現不管打開還是關閉該許可權都不會影響該應用的正常使用,那麼這個功能到底有什麼用呢?
蘋果所謂的「本地網路」其實就是我們常說的區域網,不同的電腦、iPhone、iPad、Apple Watch等電子產品通過同一個網路連接在一起時,就組成了一個本地網路。「本地網路」雖然帶有「網路」兩個字,但是關閉並不等於禁用互聯網,因此很多應用都不會受到影響。
在iOS 14 發布之前,iPhone中的應用可以通過本地網路掃描到其他電子設備,以此來獲取你的定位、人際關系、設備使用情況等個人信息,可以說這是很多應用廠商獲取用戶數據的一個重要渠道。
而iOS 14 上的「本地網路」許可權,就等於在區域網上加了一把鎖,當我們關閉該許可權時,應用就無法偷偷掃描用戶所在區域網的其他電子設備了。可以說,這個功能的出現讓我們看到了蘋果在保護用戶隱私方面做得更加專業了。
隨著萬物互聯時代的到來,用戶隱私被竊取更是防不勝防,個人信息被獲取的程度也更加嚴重。甚至現在網上還有傳言,「對於個人而言最容易被攻擊控制的設備不再是手機,電腦,而是路由器。只要路由器被劫持了,你所有秘密都沒了。」 因此,蘋果的新許可權在一定程度上防止了該問題進一步加重。
既然關閉這個功能不會影響正常使用,那麼我們是不是可以看見一個關一個呢?簡單來說,有多應用都不會用到本地網路,請求該許可權的主要目的還是為了跟蹤用戶並推送廣告,因此這些應用都可以直接關閉許可權。(已經開啟許可權的應用,也可以在設置下拉找到相應的APP進行關閉。)
不過,也有一些應用需要藉助本地網路才能夠實現相應的功能,如iPhone 連接電視投屏、智能家居、監控攝像頭,網路列印機等,因此當這些應用申請許可權時,我們可以選擇使用時開啟「本地網路」許可權,以免影響日常生活體驗。
『肆』 iOS 14:為什麼APP請求本地網路想要掃描本地網路追蹤
隨著iOS 14正式版的推送升級到新版本的用戶越來越多 , 不過也有用戶發現升級後系統在某些方面似乎有些變化。
比如屏幕頂部經常提示某某應用讀取剪切板、音視頻通話時屏幕頂部出現圓點,還有彈出本地網路訪問許可權許可。
本地網路訪問許可權指的是什麼?APP是否有必要讀取本地網路?用戶是否需要進行授予?本文我們給大家分析下。
什麼是本地網路:
本地網路其實指的就是本地區域網,比如我們的手機連接家裡的路由器,通過這台路由器可以構建家庭的區域網。
iOS 14里新增的本地網路訪問許可權是蘋果為增加隱私透明度引入的 , 實際上在此前版本這個許可權可以被任意訪問。
當APP調用相關介面時即可通過蘋果設備訪問用戶所在區域網,包括掃描該區域網下的所有設備並收集相關信息。
蘋果在新版本里為提高透明度要求APP添加本地網路隱私許可權支持,即需要調用時必須徵得用戶同意後才可訪問。
APP是否有必要讀取本地網路:
本地網路訪問許可權是個非必要的許可權,也就是說有些應用程序基於其實際功能確實需要調用本地網路的訪問許可權。
例如微軟推出的遠程桌面協議客戶端,我們安裝該客戶端後可以通過區域網內的計算機IP地址連接對應的計算機。
如果不授予本地網路訪問許可權的話則遠程桌面協議客戶端無法訪問對應的內網地址,導致無法連接區域網計算機。
因此微軟遠程桌面協議客戶端訪問本地網路完全合理的,因為不授予的話會造成該應用的主要功能無法正常使用。
而有些APP根本不需要與本地網路進行交互,例如電商類應用並不需要連接本地設備,那就沒必要讀取本地網路。
用戶是否應該授予本地網路許可權:
是否授予本地網路許可權取決於應用是否需要使用本地網路許可權,如果需要使用的話那用戶則必須授予對應的許可權。
例如小米米家系列控制類的APP,這些應用需要連接本地網路中的物聯網設備,因此使用本地網路許可權是合理的。
也就是說凡是應用因為其功能必須訪問區域網里的設備那使用就是合理的,反之使用本地網路許可權就是不合理的。
更簡單的判斷方法:任何APP請求本地網路許可權直接拒絕,拒絕後若是影響其主要功能的使用那就去設置里恢復。
如果拒絕讀取本地網路後並不影響APP主要功能的使用那就是不合理的調用,因此用戶拒絕其讀取是完全沒事的。
在哪裡調整本地網路許可權 :轉到設置的隱私里即可看到本地網路,點開後就會羅列所有請求的應用可以隨時開關。
購物軟體調用本地網路多半是追蹤用戶:
在藍點網的實際測試中我們發現大多數應用都不會調用本地網路或者是合理調用,少部分應用則存在不合理調用。
例如電商購物類軟體調用本地網路大多數都是不合理的,這些應用無需與本地網路交互也不控制連接區域網設備。
那為什麼這類軟體要調用本地網路呢?我們猜測這可能是用於追蹤用戶,通過掃描區域網設備來收集用戶的信息。
掃描區域網可以獲得:1、區域網設備例如路由器和其他設備IP和MAC ;2、利用這些信息生成用戶身份標識符。
這些信息可以生成的標識符甚至可以跨設備、跨應用、持續性的追蹤用戶,並根據收集的信息對用戶進行畫像等。
因此我們推薦用戶拒絕所有APP請求本地網路許可權,除非出現工作不正常否則沒必要授予、防止自己被持續追蹤。