2017-08-10 35 views
2

我的應用需要「始終」位置權限。如果應用程序直接詢問「永遠」,Apple會提供複雜的位置權限選項,所以我開始要求「在使用中」,然後「始終」。這爲用戶提供了第一個「同時使用」的對話框,其中包含「不允許」和「允許」按鈕,這非常棒。不過,我希望下一個對話框具有這些相同的按鈕(假設他們允許'使用'),並且在升級到iOS 11 Beta 5之前我已經得到了這個(我不確定 - 我可能跳過了一對測試版)。即使「使用中」權限已經存在,我也會看到複雜的按鈕文本(例如「使用應用程序時」和「始終」而不是'不允許'/'允許')理所當然的。在iOS中簡化位置權限提示11

我想給用戶更簡單的選項。我認爲用戶閱讀這些許可對話的頻率就像他們閱讀EULA一樣多,而且如果它不是一個簡單的允許/不允許的話,大多數人只會選擇一個隨機選項而不是閱讀,而我的應用程序將沒有權限需要。

這是可能的最新的iOS 11測試版嗎?並且在最終的iOS 11中可能嗎?我認爲這是蘋果公司在提示 - 這裏的一些建議(從https://m.rover.io/wwdc-2017-update-significant-updates-to-location-permissions-coming-with-ios-11-41f96001f87f):

對於那些始終追求的權限級別,蘋果公司目前正在建議一個新的許可流程基本上是一個分兩個階段。第一個階段或初始入職,應該只要求「在使用」權限...

+0

我有同樣的問題。你有沒有找到解決辦法? –

+0

請看看這個解決方案 - https://stackoverflow.com/a/46339284/3024579 – Alok

回答

3

對話框保持不變爲iOS 11.

隨着requestWhenInUseAuthorization()的iOS將呈現這些選項:

enter image description here

如果用戶允許訪問的位置,同時在使用,後來你問到經常訪問的位置,requestAlwaysAuthorization(),iOS設備會出現這些選項。您已經到達這裏的好處是Don't Allow Any Access不提供:

enter image description here

如果你要求requestWhenInUseAuthorization()之前要求requestAlwaysAuthorization()馬上,iOS版將呈現這些選項:

enter image description here

所以解決你的問題,建議不要僅僅請求iOS對話框,而是要用你自己的預對話準備用戶。只有在確定用戶將接受時才請求iOS對話框。這會降低用戶拒絕訪問的機會,但可能在其他情況下允許訪問。一旦用戶拒絕,您不能再請求iOS對話框。


在一般注:

我認爲用戶閱讀,因爲他們經常 讀的EULA

坦白說,這些權限對話框,這不應該是在基本假設我們開發應用程序工作流並管理用戶隱私。

高科技公司和公衆話語也越來越注重用戶的隱私。給予選擇顯然是不夠的,工作的一部分,是教育用戶,給予他們的位置24/7與未知的數據保護法的一些可能未知的愛好開發商或公司在一個國家是不一樣的點擊Yes上的EULA。此外,法律更改要求共享您的現場位置等敏感信息不得隱藏在EULA的某處,但必須由用戶明確加入。

值得慶幸的是像蘋果公司的努力確保負責訪問用戶數據開發人員構建強大的功能。要做到這一點,只能通過顯示提示(如所提到的提示)向用戶提供選擇。因爲替代方案可能沒有數據共享或法律規定的更高的障礙。

+0

「......而用戶也不能使用帶有requestAlwaysAuthorization()的應用程序,你再問訪問的位置......」做你知道「稍後」有多少時間 - 一分鐘或一小時的應用程序使用情況或位置跟蹤? – Lachezar

+1

@Lachezar你可以隨時請求'requestAlwaysAuthorization'。 iOS沒有時間限制。 – Manuel

+0

事實上,我是在info.plist中失蹤NSLocationAlwaysAndWhenInUseUsageDescription,我想知道爲什麼在權限對話框不顯示:/ – Lachezar