2011-09-16 12 views
6

Ứng dụng iPhone của tôi sử dụng dịch vụ vị trí hay không. Khi tôi lần đầu tiên cài đặt và chạy nó, nó cho thấy hộp thoại hỏi xem liệu người dùng có muốn cho phép sử dụng các dịch vụ vị trí trong một khoảnh khắc và ngay lập tức biến mất không. Điều này xảy ra vài lần liên tiếp.Hộp thoại hỏi xem người dùng có muốn cho phép sử dụng dịch vụ vị trí hiện ra và biến mất trong iPhone

Có phải là lỗi đã biết hoặc tôi đang làm điều gì sai?

+0

Bạn có thể đăng một số mã sử dụng Trình quản lý vị trí không? – chown

Trả lời

13

Tôi đã gặp sự cố tương tự trong ứng dụng của mình ngay bây giờ, tôi sẽ thêm câu trả lời này làm câu trả lời cho bất kỳ ai googles câu hỏi và đi qua câu hỏi cũ này.

Vấn đề là nếu bạn instanciate CLLocationManager tại địa phương và yêu cầu nó để cập nhật vị trí của nó, cửa sổ yêu cầu sự cho phép biến mất ngay lập tức sau khi nó bật lên.

Bạn phải đặt CLLocationManager một thuộc tính (hoặc ít nhất bạn không nên instanciate nó tại địa phương), sau đó nó hoạt động.

+0

Có cùng một vấn đề, câu trả lời này đã giúp –

+0

Bạn nói đúng: đó là do biến cục bộ không được tham chiếu ở bất kỳ nơi nào khác và do đó ARC sẽ phát hành nó và nó sẽ bị phân phối lại, khiến hộp thoại biến mất. Vì vậy, hãy đặt CLLocationManager một thuộc tính hoặc một biến mẫu. –

0

Có vẻ như hệ điều hành yêu cầu bạn phê duyệt việc sử dụng dịch vụ vị trí cho ứng dụng. Tôi không biết về bất kỳ vấn đề nổi bật nào có thể ngăn chặn việc đóng và mở lại cách bạn mô tả. Theo tôi biết, bạn không có bất kỳ quyền kiểm soát nào đối với điều này, nó sẽ tự động xuất hiện khi ứng dụng của bạn kích hoạt phương pháp dựa trên vị trí (ví dụ: -startUpdatingLocation hoặc -startMonitoringForRegion).

Có thể bạn có một chế độ xem xung đột khác đang cố đánh cắp chế độ xem từ cảnh báo hệ điều hành, nhưng không có bất kỳ mã nào, sẽ khó nói. Hi vọng điêu nay co ich.

+0

Đúng là chính xác những gì sẽ xảy ra. Vấn đề là tôi có quan điểm khác nhau, trong đó tôi sử dụng dịch vụ định vị, nhưng không ai trong số họ chạy trên tải ứng dụng. Chế độ xem chính và lượt tải đầu tiên không sử dụng dịch vụ vị trí. – Misha

+0

Tôi sẽ suy nghĩ về việc vô hiệu hóa công cụ vị trí của bạn ở mỗi vị trí và làm việc để thêm chúng trở lại từng cái một cho đến khi bạn theo dõi ai đang gây rắc rối cho bạn. Bạn có thể đặt lại Trình mô phỏng của mình về cài đặt gốc và sẽ đặt lại kích hoạt dịch vụ vị trí cho ứng dụng. Điều đó sẽ giúp bạn kiểm tra nó. –