Ngay khi tôi cài đặt và khởi chạy ứng dụng của mình lần đầu tiên, ứng dụng này ngay lập tức yêu cầu dịch vụ vị trí, mặc dù startUpdatingLocation chưa được gọi. Tôi thậm chí không phân bổ một cá thể CLLocationManager tại thời điểm đó. Tôi muốn lời nhắc này được thực hiện một cách uể oải sau khi tôi thực sự thực hiện cuộc gọi để người dùng không tắt nó một cách mù quáng. Gần đây, luồng này có thay đổi với iOS không? Tôi nhớ nó thường được hỏi một cách uể oải. Tôi đang sử dụng phần vững 5.1.Rất nhanh chóng yêu cầu Dịch vụ vị trí
Trả lời
Thats thú vị. Tôi đã thử nghiệm giả thuyết của bạn, rằng người quản lý vị trí thậm chí không được phân bổ và cuộc hội thoại Quyền đối với vị trí trên iOS xuất hiện. Tôi đã thử khắc phục sự cố sau. Sau mỗi bước tôi chạy dự án trên một thiết bị và tôi chỉ có thể nhận được popup vị trí xuất hiện ở bước cuối cùng.
- Bắt đầu một ứng dụng mới
- yêu cầu vị trí-dịch vụ trong info.plist
- yêu cầu gps trong info.plist
- liên kết CoreLocation cho dự án
- nhập Lõi Location vào tiêu đề
- Make và tổng hợp thuộc tính cho người quản lý vị trí
- yêu cầu CLLocationQuản lý cho + ủy quyềnStatus
- yêu cầu CLLocationQuản lý cho + locationServicesEnabled
- cấp phát init a CLLocationThông tin người quản lý
- cho CLLocationQuản lý bắt đầu cập nhật vị trí.
Chỉ bước cuối cùng mới đưa ra lời nhắc. Để chắc chắn tôi thậm chí đã tạo ra một viewController đã đẩy một bộ điều khiển xem thứ hai mà khởi tạo một CLLocationManager và bắt đầu cập nhật vị trí. Cửa sổ bật lên quyền chỉ xuất hiện khi bộ điều khiển chế độ xem thứ hai được đẩy. Đây là tất cả với Xcode mới nhất chạy trên 5.1.
Tôi đã cho thấy rằng dịch vụ vị trí vẫn chỉ yêu cầu quyền vào đúng thời điểm bạn thử và bật vị trí như đã thực hiện trong các SDK trước đó. Có lẽ kiểm tra mã của bạn, có thể dán một số ở đây để chúng tôi có thể đi vào chi tiết hơn. :)
Tôi cũng sẽ thử điều này để đảm bảo. Tất cả các xử lý vị trí của tôi được thực hiện thông qua một singleton, vì vậy tôi chỉ có một cuộc gọi để startUpdatingLocation trong toàn bộ ứng dụng của tôi. Tôi có một breakpoint trên nó và nó không bao giờ được gọi. Khả năng duy nhất tôi có thể nghĩ là một trong những khung phụ thuộc, vì lý do gì đó, đang kích hoạt điều này. Dự án của tôi là lớn, do đó, nó sẽ là một * đau * để tái tạo các tập tin dự án. Ngoài ra tôi đã sử dụng và nâng cấp tệp dự án từ iOS 3.0. –
Bạn có sử dụng mạng quảng cáo hoặc khung từ xa không? Đi đến thanh bên của điểm ngắt, nhấp vào dấu cộng ở dưới cùng và trong loại Hộp biểu tượng '- [CLLocationManager startUpdatingLocation]' và nó sẽ bị ngắt cho startUpdatingLocation trên toàn bộ dự án và thư viện của bạn. Cũng có thể đáng để nghe '–startMonitoringSignificantLocationChanges' – jackslash
Cảm ơn bạn vì điều này, đó là một mẹo hay để biết! Đó là bởi vì tôi đã được phân bổ (không hiển thị) một MKMapView trong nền khi khởi động để hiển thị sau này. –
- 1. Dịch vụ Vị trí Lõi Mac không yêu cầu quyền
- 2. yêu cầu lặp lại nhanh chóng loại
- 3. Cách lấy yêu cầu kéo nhanh chóng tại địa phương
- 4. Tại sao Http yêu cầu với Fiddler là nhanh chóng
- 5. Yêu cầu dịch vụ web bảo mật
- 6. Bật lại dịch vụ vị trí cho ứng dụng iPhone
- 7. Android nhận vị trí hoặc nhắc bật dịch vụ vị trí nếu bị tắt
- 8. WCF MSMQ ràng buộc với một dịch vụ IIS - làm thế nào để nhanh chóng dịch vụ?
- 9. Ruby yêu cầu 'tệp' và vị trí tương đối
- 10. respond_with là yêu cầu cho vị trí trên lỗi
- 11. Nhanh chóng thêm ghim đơn vào MKMapView?
- 12. Dịch vụ dữ liệu WCF - Lỗi yêu cầu
- 13. Triển khai nhanh chóng và dễ dàng dịch vụ web WCF, được cung cấp cho wsdl?
- 14. Yêu cầu dịch vụ AJAX với webmethod trong trang ASPX
- 15. Câu hỏi về dịch vụ vị trí nền iPhone 4
- 16. Nhận vị trí GPS qua dịch vụ trong Android
- 17. iOS 6 và Dịch vụ vị trí không hoạt động
- 18. Chỉ báo dịch vụ vị trí vẫn "bật"
- 19. .htaccess hoặc mã bảo vệ PHP chống lại nhiều yêu cầu nhanh chóng
- 20. Dịch vụ vị trí chuẩn của iOS so với dịch vụ vị trí thay đổi quan trọng so với giám sát khu vực
- 21. Cách đăng nhập yêu cầu thô trong dịch vụ WCF
- 22. Python SUDS SOAP yêu cầu dịch vụ https 401
- 23. Node.JS Đợi gọi lại dịch vụ REST yêu cầu HTTP
- 24. Dịch vụ REST REST không nhận ra yêu cầu PUT
- 25. Tính toán thời gian yêu cầu dịch vụ web
- 26. Hiệu suất chậm của Dịch vụ báo cáo, rất nhanh trong QueryAnalyser
- 27. Phát hiện xem dịch vụ vị trí có được bật cho ứng dụng của tôi
- 28. API vị trí của Google: yêu cầu cập nhật vị trí với mục đích đang chờ xử lý?
- 29. Vị trí lõi bị xóa khỏi ứng dụng nhưng vẫn được yêu cầu cho vị trí của người dùng
- 30. iOS, CLLocationQuản lý: Hiển thị "Dịch vụ vị trí có thể bật lại" Popup
Bạn đang nói về hộp thoại đó (ứng dụng *** muốn sử dụng ...) hiển thị lần đầu tiên người dùng khởi chạy ứng dụng của bạn? –
Có thực sự, vì lý do nào đó trong 5.1. – ssteinberg
@rokjarc Vâng đó là một. –