這幾天有注意到一個問題。我在做相冊一塊的時候,如果用戶沒有打開相冊訪問權限,會跳轉到系統的設置界面,接著如果改動了權限回到 app,就會發現 app crash 了,並且重新加載了。
大概的步驟如下:
點擊設置後代碼如下:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
成功跳轉後:
改變一下照片權限。
然後華麗麗的 crash 了:
沒有任何輸出,沒有被 All Exceptions 斷點攔截到。這真是一個悲傷的故事。
當我發現這個問題時,仔細觀察發現這種 crash 和一般的 crash 不太一樣,app 會自動重啟,但是沒有經過 LauchScreen 界面。
然後嘗試去用『大眾點評』、『支付寶』一類常用的 app 做了同樣的嘗試。發現均有此問題。
又經過一番查找,在 stackoverflow 上找到 這樣 一個問題,該問下有這樣的一個回答。
該問題無人解答,這真是一個悲傷的故事。
隨後又發現 這樣 一個問題——App crashes on enabling Camera Access from Settings iOS 8。
當首次請求訪問相冊時,系統會自動提示你在 plist 文件中配置的請求許可信息。
無論用戶是否允許你的 app 訪問相冊,如果用戶跳出應用改變了通訊簿、日歷、提醒、相冊的許可開關。iOS 將會 SIGKILL(無條件終止)
你的 app,以便確保你的 app 不再拿到任何過時的授權信息。當用戶回到你的 app 時,你的 app 將重新加載。
綜上所述,這是一個可以放任它不用管的問題。這果然是個悲傷的故事。