2011-08-21 36 views
11

Đối với iPad hoặc iPod touch, có cách nào để tìm hiểu xem thiết bị có GPS không?Làm cách nào để biết thiết bị iOS có GPS?

Tín dụng bổ sung: Điều gì xảy ra nếu bản thân iPad không có, nhưng nó được kết nối với thiết bị GPS của bên thứ ba? Tôi có thể xác định điều này không?

+0

Bạn có thể muốn xem câu trả lời SO này có giải quyết được vấn đề của bạn hay không: http://stackoverflow.com/questions/6907584/check-whether-a-cllocation-is-based-on-gps-or-cellular/ 6913657 # 6913657 – pythonquick

+0

Không phải tất cả các thiết bị iOS đều có GPS ngoại trừ iPhone 2G không? – darksky

+0

@Nayefc: Không, iPod Touch (tất cả các kiểu máy tính đến nay) không có GPS. –

Trả lời

4

Đối với iOS 6 trở lên, bạn có thể muốn thử

+ (BOOL)[CLLocationManager deferredLocationUpdatesAvailable] 

Theo documentation:

cập nhật vị trí thu nhập hoãn lại đòi hỏi sự hiện diện của Phần cứng GPS và có thể không được hỗ trợ trên tất cả các thiết bị iOS.

+0

Thông minh - Cảm ơn bạn! ;-) – Brad

+1

Có các thiết bị có GPS và trả chậmLocationUpdatesAvailable trả về NO. Vì vậy, điều này không làm việc cho tất cả các thiết bị. –

+0

@Francescoverheye bạn có biết đây có phải là các thiết bị cũ hơn chạy Warpling

9

Apple không cung cấp chức năng truy vấn trực tiếp thiết bị nếu thiết bị có khả năng GPS hay không. Có hai giải pháp khả thi cho vấn đề của bạn:

  1. Truy vấn loại thiết bị và xác định xem thiết bị có dựa trên GPS hay không. Điều này được mô tả here.

  2. Cách Apple đề xuất: xem tài liệu của họ here (Phần "Xác định hỗ trợ phần cứng khả dụng"). Về cơ bản bạn tạo một thể hiện của CLLocationManager và thiết lập độ chính xác mong muốn đến mức cao nhất, sau đó bạn có thể truy vấn độ chính xác của nó; nếu nó không phải là rất chính xác, có khả năng là thiết bị không có GPS.

Hy vọng điều này sẽ hữu ích. :)

+0

Không thực sự là câu trả lời tôi "muốn" - nhưng nó là chính xác, tuy nhiên ;-) – Brad

+2

Liên kết dưới câu trả lời # 2 không hoạt động nữa. – Tafsen

-1

Tải xuống máy đo độ cao hoặc ứng dụng tương tự. Tắt dữ liệu di động và wifi trước khi bạn sử dụng ứng dụng đã tải xuống. Sau đó khởi chạy ứng dụng và xem ứng dụng có cung cấp cho bạn độ cao hiện tại của bạn hay không. Nếu nó hoạt động bạn có GPS nếu nó không thì bạn không

+4

Haha, lol. Nghĩ rằng bạn hiểu sai câu hỏi. – Christoffer

+2

Tôi sẽ có downvoted câu trả lời (như bình luận ở trên) - tuy nhiên, ý tưởng nhìn vào lĩnh vực "độ cao" trở lại là một ý tưởng tốt. – Brad

1

Chỉ GPS mới có thể phân phối thuộc tính vị trí: khóa học và tốc độ.
Và theo nguyên tắc chung, bạn cần GPS cho vị trí chính xác, thiết bị GPS trắng sẽ cung cấp vị trí.getHoricontalAccuracy() cao hơn 30- 40m. (Sử dụng cài đặt độ chính xác của CLLLocationAccuracyBest)

Vì vậy, trong trường hợp đó bạn không có vị trí chính xác và có thể bỏ qua điều đó luôn. (Independnet nếu thiết bị có GPS hay không)

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