簡體   English   中英

針對iOS 11設備使用Xcode 9構建的應用程序的間歇性和晚期重要位置更改事件

[英]Intermittent and late Significant Location change events on apps built with Xcode 9 for iOS 11 devices

我已經對此提出了雷達,但我想知道是否有其他人有這個問題。

似乎重要的位置更改(SLC)在iOS 11上表現不同,但僅限於在Xcode 9上構建的應用程序。看起來好像SLC表現得更糟,並且與iOS 10相比延遲了。我可以支持這個使用來自多個設備的數據和易於重復的實驗。 我想嘗試保持這篇文章的簡短,所以如果有人想要更多關於如何更詳細地重現這個問題的數據或說明,我很高興能夠分享我是如何完成這一切的。

使用這個簡約的SLC緩存應用程序: https//github.com/Root-App/root-ios-slc-tester我能夠從iOS 10和iOS 11設備獲取數據。

問題僅存在於iOS 11設備上,其中接收SLC的應用程序已構建在Xcode 9上。只是為了確保這一點清楚:

  • 在Xcode 9上構建的iOS 10設備+應用程序:像以前一樣工作
  • 在Xcode 8上構建的iOS 10設備+應用程序:像以前一樣工作
  • 在Xcode 8上構建的iOS 11設備+應用程序:像以前一樣工作
  • 在Xcode 9上構建的iOS 11設備+應用程序存在問題

大多數時候(但並非總是如此),iOS 11 + Xcode 9版本上的SLC發生的時間明顯晚於控制(iOS 10)設備上的SLC。

比較來自上述應用程序的日志文件,iOS 10設備在iOS 11設備之前超過2分鍾獲得SLC。 有時10-15分鍾前!

樣本刪節數據,其中每一行是不同的行程,並表示第一次記錄該行程的SLC(以HH:mm:ss):

 iOS 10  |  iOS 11
-------------------
20:41:08 | 20:44:45
07:21:25 | 07:27:48
18:54:57 | 19:07:36
07:48:17 | 07:51:03
17:29:44 | 17:38:18

iOS 10與iOS 11中存在SLC之間的差距似乎有所不同。

是否有其他人看到這種降級的SLC行為?

如果你只使用“使用時”位置訪問,據我所知,沒有任何改變。

如果你使用“始終”訪問權限,並且沒有像你應該提供的那樣“提供使用時”。

以下信息可能對iOS 11有用,

正如Brad Jensen在我提到的WWDC演講中解釋的那樣,Apple決定強迫用戶給應用程序“始終”位置訪問是一種糟糕的用戶體驗:

現在,我們認為許多開發人員選擇要求始終授權的第二個原因是他們只是試圖為用戶提供最佳體驗(...)但這對於不希望用戶的用戶來說會帶來非常糟糕的用戶體驗。授予應用程序始終授權。 他們被迫在批准應用程序Always之間做出選擇,這比他們在這個例子中所希望的要多,或者授予它Never,這意味着他們無法從應用程序的任何基於位置的功能中受益。 他們的最終選擇是授予它Always,然后在使用該應用程序完成后撤銷該授權。 在任何情況下,用戶都沒有很好的時間使用這個應用程序。

有關詳細信息,您可以從下面的博客中了解它可能更有用,

https://mackuba.eu/2017/07/13/changes-to-location-tracking-in-ios-11/

暫無
暫無

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

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