在iPhone上使用位置感知會觸發「X想使用當前位置」 - 「不允許」/「確定」。在CLLocationManager文檔中,聲明:iPhone上的「X想要使用當前位置」背後的規則是什麼?
「用戶可以選擇拒絕應用程序訪問位置服務數據。在應用程序初次使用期間,核心位置框架會提示用戶確認使用位置服務是可以接受的,如果用戶拒絕請求,CLLocationManager對象會在將來的請求中向其委託報告一個適當的錯誤。「
如果您點擊「確定」以允許位置服務,我發現「初始使用」是兩次。從第三次開始,iPhone將會記住您對該應用程序未來所有應用的設置。
但是,每當應用程序的一部分嘗試使用位置服務時,按下「不允許」的用戶將不斷受到打擾。我已經在自己的應用中嘗試了至少15次,並且在「2010年溫哥華 - 官方移動觀衆指南」中發佈了更多「不允許」的內容。這對於不想使用此功能的用戶來說非常煩人。
我的問題:
- 對於所有的應用程序,iPhone會問兩次,記得設置,如果你點擊「OK」。這是一個正確的觀察?
- 是否有限制嘗試的數量iPhone會繼續詢問如果你點擊「不允許」,或者這是永遠不會被記住的?你如何處理這個問題?由於locationManager:didFailWithError:被通知,我想它可以每次增加一個計數器屬性並堅持這一點。下一次使用該應用程序時,會在我自己的代碼中檢查此設置。如果counter> = 2,請勿使用核心位置。
- 我發現刪除「OK」設置的唯一方法就是通過在General - > Reset - > Location警告中重置所有應用程序。有沒有辦法做到這一點只適用於一個應用程序,或從我自己的代碼?
我其實認爲這是很好的行爲。如果用戶持續使用您的應用程序,但不使用定位服務,那麼即使在那裏定位服務也有多重要? – bpapa 2010-02-24 16:29:23
我已經創建了Map應用程序,並打算在App市場推出。我的問題是...我們是否必須通過編碼設置上述OK/Dont允許警報?如果是,那麼重定向我的例子的鏈接。提前致謝。 – 2012-01-16 14:15:02