2017-09-27 35 views
11

Tôi đã gửi một radar về điều này nhưng tôi muốn xem liệu có ai khác có vấn đề này không.Sự kiện thay đổi vị trí đáng kể và gián đoạn trên các ứng dụng được xây dựng với Xcode 9 cho các thiết bị iOS 11

Có vẻ như thay đổi vị trí quan trọng (SLC) hoạt động khác trên iOS 11 nhưng chỉ trên các ứng dụng được xây dựng trên Xcode 9. Có vẻ như SLC đang hoạt động kém hơn nhiều và bị trì hoãn khi so sánh với iOS 10. I có thể sao lưu dữ liệu này từ nhiều thiết bị và một thử nghiệm dễ tái sản xuất. Tôi muốn thử và giữ bài đăng này ngắn gọn để nếu có ai muốn thêm dữ liệu hoặc hướng dẫn về cách tái tạo vấn đề chi tiết hơn, tôi rất vui được chia sẻ chính xác cách tôi đã làm tất cả những điều này.

Sử dụng ứng dụng đệm ẩn SLC tối thiểu này: https://github.com/Root-App/root-ios-slc-tester Tôi có thể nhận dữ liệu từ thiết bị iOS 10 và iOS 11.

Vấn đề chỉ tồn tại trên iOS 11 thiết bị nơi ứng dụng nhận SLC đã được xây dựng trên Xcode 9. Chỉ cần để đảm bảo điều này là rõ ràng:

  • iOS 10 thiết bị + ứng dụng được xây dựng trên Xcode 9: hoạt động như trước
  • iOS 10 thiết bị + ứng dụng được xây dựng trên Xcode 8: hoạt động như trước
  • iOS 11 thiết bị + ứng dụng được xây dựng trên Xcode 8: hoạt động như trước
  • iOS 11 thiết bị + ứng dụng được xây dựng trên Xcode 9: vấn đề tồn tại

Phần lớn thời gian (nhưng không phải lúc nào), SLC trên phiên bản iOS 11 + Xcode 9 xảy ra chậm hơn đáng kể so với SLC trên thiết bị điều khiển (iOS 10).

So sánh các tệp nhật ký từ ứng dụng trên, thiết bị iOS 10 nhận được SLC hơn 2 phút trước thiết bị iOS 11. Đôi khi 10-15 phút trước!

mẫu rút gọn dữ liệu mà mỗi dòng là một chuyến đi khác nhau và đại diện cho lần đầu tiên mà một SLC được ghi nhận cho chuyến đi đó (trong 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 

Các khoảng trống giữa khi có một SLC trong iOS 10 so với iOS 11 dường như không thể chấp nhận được.

Có ai khác nhìn thấy hành vi SLC bị xuống cấp này không?

+0

bạn đã tìm thấy bất kỳ giải pháp? tôi cũng phải thực hiện SLC. xin đề nghị tôi cách tốt nhất để nắm bắt vị trí mặc dù ứng dụng không chạy. –

Trả lời

1

Nếu bạn chỉ sử dụng quyền truy cập thông tin vị trí “Trong khi sử dụng”, tôi hiểu không có gì thay đổi đối với bạn.

Nếu bạn sử dụng quyền truy cập “Luôn luôn” và bạn không cung cấp dự phòng “Trong khi sử dụng” như bạn cần.

Dưới đây Thông tin có thể hữu ích dành cho iOS 11,

Như Brad Jensen giải thích trong cuộc nói chuyện WWDC tôi đã đề cập, Apple đã quyết định rằng buộc người sử dụng để cung cấp cho các ứng dụng “Luôn luôn” truy cập vị trí là một trải nghiệm người dùng xấu:

Bây giờ, một lý do thứ hai, chúng tôi nghĩ rằng nhiều nhà phát triển chọn để yêu cầu Luôn ủy quyền là họ đang đơn giản là cố gắng để cung cấp cho người dùng của họ những kinh nghiệm tốt nhất có thể (...) nhưng điều này làm cho một rất nghèo sử dụng kinh nghiệm cho người dùng không muốn cấp ứng dụng Al cách ủy quyền.Họ buộc phải chọn giữa việc cấp ứng dụng Luôn, nhiều hơn mức mong muốn trong ví dụ này hoặc cấp cho nó Không bao giờ, điều đó có nghĩa là họ không được hưởng lợi từ bất kỳ tính năng dựa trên vị trí nào của ứng dụng . Và tùy chọn cuối cùng của họ là cấp cho thông tin đó Luôn rồi thu hồi ủy quyền đó sau khi chúng được thực hiện bằng cách sử dụng ứng dụng. Trong mọi trường hợp, người dùng không có thời gian tuyệt vời với ứng dụng này.

Để biết thêm chi tiết bạn có thể đọc từ bên dưới blog của nó có thể hữu ích hơn,

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

+0

Đối với ứng dụng này, "Luôn luôn" là hoàn toàn quan trọng đối với chức năng của nó. Người dùng không muốn cấp quyền truy cập "Luôn luôn" sẽ không nhận được gì từ ứng dụng. –

Các vấn đề liên quan