簡體   English   中英

macOS - 我在提示時拒絕了位置服務,現在彈出窗口不再顯示

[英]macOS - I denied location services when prompted, and now the pop up won't show again

我正在使用Swift 3在XCode上開發一個macOS應用程序,我正在獲取用戶的位置。 當應用程序第一次加載時,它會顯示一個提示,要求用戶訪問其位置。 它自從我制作應用程序以來一直在工作,但我隨后更改了項目的名稱,當我重新運行應用程序時再次顯示彈出窗口時,我點擊“取消”進行測試,現在當我嘗試獲取用戶的位置再次,彈出窗口不顯示要求許可。

我檢查了系統偏好設置 - >安全和隱私 - >隱私,我的應用程序不在那里重新啟用位置服務。

有任何想法嗎?

下面的代碼是我如何獲取用戶的位置,我在viewDidLoad()中調用它:

locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()

如果應用程序無法找到您的位置,則表示您未授予應用程序使用您的位置的權限(顯然)。 按照以下說明重置它以再次請求您的許可。

  1. 打開終端並sudo到root shell $ sudo -s

  2. 轉到locationd / $ cd /var/db/locationd

  3. 備份clients.plist以防萬一$ cp -p clients.plist clients.plist.save

  4. 將clients.plist轉換為XML $ plutil -convert xml1 clients.plist

  5. 打開clients.plist並刪除包含Map My Route應用程序的整個,然后保存它。

  6. 將clients.plist轉換回二進制$ plutil -convert binary1 clients.plist

  7. 重新啟動locationd $ killall locationd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM