根據文檔,UIImagePickerController 不需要顯式向用戶請求許可權,因為走的是 delegate 模式。需要顯式請求許可權的是 PHPhotoLibrary,因為利用 PHPhotoLibrary(幾乎)可以完全通過 code 控制用戶相冊。
時間規劃局的fallback邏輯應該是優先使用 PHPhotoLibrary,如果用戶不允許的話,則 fallback 回 UIImagePickerController。
近日,知乎上網友爆料發現蘋果手機存在漏洞,一款名叫「時間規劃局」的App可在未獲取相冊許可權的情況下讀取照片。專家猜測可能是App調用了蘋果的私有庫,繞過了系統的授權機制。
3月1日,隱私護衛隊使用iOS11.4.1版本的手機下載「時間規劃局」復現了上述現象。看雪對隱私護衛隊表示,一些舊版本的蘋果手機不能復現,比如iOS10,最新的iOS12.X系列版本的手機可復現。
為什麼會出現上述現象?看雪技術專家對隱私護衛隊說,這應該是蘋果手機存在漏洞。可能該App使用了一些蘋果未公開的私有庫,蘋果商店在審核時未發現私有庫被調用。專家還表示,也可能是App修改了彈窗授權設置中的操作鍵,將「不允許」的實際功能改成了「允許」。