2010-02-18 24 views
13

Sử dụng nhận thức vị trí trên iPhone kích hoạt "X muốn sử dụng vị trí hiện tại của bạn" - "Không cho phép"/"OK". Trong tài liệu CLLocationManager, được nêu:Các quy tắc đằng sau "X muốn sử dụng vị trí hiện tại của bạn" trên iPhone là gì?

"Người dùng có tùy chọn từ chối quyền truy cập của ứng dụng vào dữ liệu dịch vụ vị trí. dịch vụ vị trí có thể chấp nhận được. Nếu người dùng từ chối yêu cầu, đối tượng CLLocationManager báo cáo lỗi thích hợp cho đại biểu của nó trong các yêu cầu trong tương lai. "

Tôi đã tìm thấy "sử dụng ban đầu" là hai lần nếu bạn nhấn "OK" để cho phép dịch vụ vị trí. Từ lần thứ ba trở đi, iPhone sẽ nhớ cài đặt của bạn cho tất cả các ứng dụng trong tương lai của ứng dụng.

Tuy nhiên, người dùng nhấn "Không cho phép" sẽ liên tục bị làm phiền mỗi khi một phần của ứng dụng tìm cách sử dụng dịch vụ vị trí. Tôi đã thử ít nhất 15 lần trong ứng dụng của riêng tôi, và đã khai thác "Không cho phép" nhiều hơn trong "Vancouver 2010 - hướng dẫn khán giả di động chính thức". Điều này là cực kỳ khó chịu cho người dùng không muốn sử dụng tính năng này.

Câu hỏi của tôi:

  • Đối với tất cả các ứng dụng, iPhone sẽ hỏi hai lần và nhớ các thiết lập nếu bạn nhấn "OK". Đây có phải là quan sát chính xác không?
  • Có giới hạn về số lần thử iPhone sẽ tiếp tục hỏi nếu bạn nhấn "Không cho phép" hay điều này không bao giờ được nhớ? Làm thế nào bạn có thể xoay xở được chuyện này? Kể từ khi locationManager: didFailWithError: được thông báo, tôi đoán nó có thể tăng một thuộc tính truy cập mỗi lần và duy trì điều này. Lần sau, ứng dụng được sử dụng cài đặt này được kiểm tra trong mã của riêng tôi. Nếu bộ đếm> = 2, không sử dụng vị trí chính.
  • Cách duy nhất tôi tìm thấy để xóa cài đặt "OK" sau khi được nhớ, bằng cách đặt lại cài đặt này cho TẤT CẢ các ứng dụng nói chung -> Đặt lại -> Cảnh báo vị trí. Có cách nào để làm điều này chỉ cho một ứng dụng, hoặc từ mã của riêng tôi?
+0

Tôi thực sự nghĩ đây là hành vi tốt. Nếu người dùng tiếp tục sử dụng ứng dụng của bạn nhưng không sử dụng Dịch vụ vị trí, mức độ quan trọng của việc sử dụng Dịch vụ vị trí ở đó là như thế nào? – bpapa

+0

Tôi đã tạo ứng dụng Bản đồ và tôi định khởi chạy trong thị trường Ứng dụng. câu hỏi của tôi là ... Chúng ta có phải thiết lập thông báo OK/Dont Allow ở trên thông qua mã hóa không ?? Nếu có thì chuyển hướng cho tôi liên kết ví dụ. Cảm ơn trước. –

Trả lời

5
  1. Có, nó sẽ luôn hỏi bạn hai lần. Loại imho lạ và không trực quan. Đó là sự hiểu biết của tôi rằng đây là trong trường hợp bạn nhấn nút sai lần đầu tiên. Sau đó nó giả định bạn biết những gì bạn muốn.

  2. tôi tìm thấy những điều sau trong ví dụ LocateMe:

    "Don't Allow" on two successive app launches is the same as saying "never allow". but I've also read that other folks are seeing the same behavior that you are. Maybe a change in recent OS update? Anyways, your approach sounds reasonable.

  3. Tôi không tin rằng bạn có thể thiết lập lại cho chỉ có một ứng dụng, xin lỗi.

1

Bây giờ bạn có thể đặt hoặc bỏ đặt cho một ứng dụng trong cài đặt, trong Chung, Dịch vụ vị trí. Có lẽ được giới thiệu trong 4.0?

Và nếu bạn là nhà phát triển đã đăng ký, bạn có thể kiểm tra các khác biệt của API cho bản beta mới nhất. Họ có thể đã cải thiện xử lý lỗi.

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