前言
由於最近公司的大部分用戶的mac系統都覆蓋到了10.14以上,而且最近開發從QTCreator 遷移到了Clion上(不得不說Clion確實強大),結果遇到了Clion 調試遇到麥克風/攝像頭權限時無法獲取權限,導致調試的程序被OSX系統殺掉的問題,並且截止到目前JetBrains都沒有解決,而且各個論壇上也沒有人發佈解決辦法,剛好機緣巧合之下有了解決辦法,故將之分享給衆人。
問題
由於OSX10.14以上對於電腦麥克風、攝像頭等系統功能增加了系統安全設置,所有的程序如果需要調用到該設備的都需要獲取到對應的權限,不然程序將出現打不開對應設備問題,如果但是運行的程序需要獲取到對應權限,需要在Info.plist中增加對應的鍵值對。(如下所示)
然而對於IDE debug 程序(APP)來說,app是作爲IDE的子進程而存在,調試的時候請求的權限是父進程(IDE)向系統申請權限,雖然JetBrains IDE在info.plist中有了對應的鍵值對,但是還是無法申請到對應設備的權限,截止到目前MacOS的最新版本依然沒有解決此問題。
解決辦法
在一頓Google之後,無論JetBrains論壇還是其他的論壇遇到這個問題的人都很多,大多都在討論修改info.plist或者等待JetBrains官方版本更新(不排除有人已經解決但是沒有放出方法來),方法很簡單,直接通過控制檯打開IDE,這樣IDE就作爲控制檯進程的子進程存在,並且請求權限的時候是由控制檯申請,這個神奇的問題就解決了!!!下面放出解決圖:
然後打開項目調試==>獲取權限看到如下圖
至此完結撒花