2012-04-23 39 views
5

Tôi đã được làm việc trên một ứng dụng theo dõi chiếc xe, mà phụ thuộc vào dịch vụ định vị cốt lõi. Ứng dụng đang trong giai đoạn thử nghiệm, thứ sáu tuần trước nó đột ngột ngừng hoạt động, không có bản cập nhật vị trí nào (như GPS không hoạt động), ngay cả khi tôi đang ở trên xe và di chuyển với vận tốc 30mph trở lên. Đối với các ứng dụng cả ngày không làm việc ở tất cả.iPhone GPS - Không nhận được cập nhật vị trí hợp lệ

Tôi đã kiểm tra ra các bản ghi của tôi, không có một bản cập nhật địa điểm duy nhất cho toàn bộ thời gian. Tuy nhiên, tại thời điểm đó ứng dụng Maps hoạt động hoàn toàn tốt, điều này khiến tôi tin rằng không có sự cố với iOS/GPS-Module/Signal. Vào sáng thứ bảy (ngày hôm sau) cùng một ứng dụng lại bắt đầu hoạt động mà không có bất kỳ thay đổi nào về mã hoặc cài đặt hoặc cài đặt lại.

Tôi đã làm việc trên ứng dụng này trong hai tháng qua và đây là lần thứ 3 tôi gặp sự cố này, tôi không thể theo dõi nguyên nhân gốc vì không có bất kỳ thay đổi nào trong cùng một phiên bản bắt đầu hoạt động trở lại. Tôi gặp vấn đề này trên hai thiết bị iPhone 3gs (ios 4.3) và iPhone 4 (ios 5.1).

Vì vậy, là có bất kỳ ai khác gặp phải một số vấn đề tương tự, hoặc bất kỳ đầu vào những gì có thể là nguyên nhân gốc rễ hoặc bất kỳ gợi ý để theo dõi các vấn đề như vậy ...

... CẬP NHẬT ... Một số cập nhật: Câu lệnh ở trên trong câu hỏi "Tôi nhận được không một cập nhật" sẽ bị sai, vì tôi nhận được rất ít cập nhật vị trí với độ chính xác vị trí tồi tệ nhất như +/- 200m (với tốc độ = -1 và khóa học = - 1). Nhưng trong ứng dụng của tôi, tôi yêu cầu độ chính xác tối thiểu là +/- 50m. Tôi đã có mã để loại bỏ cập nhật vị trí với độ chính xác kém khiến tôi nghĩ rằng không có bản cập nhật nào cả.

Cảm ơn.

+0

Bằng cách này, bạn có thể chỉnh sửa câu hỏi của bạn. – DanSkeel

+0

hi @zee, tôi cũng đang gặp phải sự cố này, bạn có thể chia sẻ cách bạn giải quyết vấn đề này không? –

+0

@Mohittomar Tôi đã không thể giải quyết nó (chỉ cần bỏ qua nó khi nó xảy ra rất hiếm khi). Tôi cũng đã hỏi cùng một câu hỏi với Apple (như 4 năm trước) và vẫn đang chờ phản ứng của họ. – Zee

Trả lời

0

đã ứng dụng bằng cách nào đó mất sự cho phép của hệ điều hành để sử dụng phần cứng GPS? Bạn đang kiểm tra xem liệu dịch vụ vị trí có được bật hay không bằng cách kiểm tra +[CLLocationManager authorizationStatus]? Tôi biết rằng nếu bạn xóa và tạo lại ứng dụng cho một thiết bị, bạn phải phê duyệt lại quyền truy cập thông tin vị trí. Có lẽ bạn đã vô tình phủ nhận điều đó một lần?

+0

Cảm ơn bạn đã trả lời, nhưng thats không phải là trường hợp ... như tôi đã viết trong câu hỏi, ứng dụng bắt đầu làm việc mà không có bất kỳ thay đổi mã/cài đặt hoặc bất cứ điều gì ... mà thực sự là lạ. Tôi gặp phải vấn đề này hai lần khách hàng của tôi ở một lục địa khác trải nghiệm nó một lần. – Zee

0

Nếu bạn đang sử dụng "vị trí dịch vụ có ý nghĩa thay đổi", nó có thể là thú vị để kiểm tra xem địa điểm mà bạn đã không nhận được bất kỳ bản cập nhật đã có tín hiệu điện thoại. Tôi tin rằng dịch vụ đang sử dụng thay đổi tế bào và không phải GPS để kích hoạt sự kiện.

+0

Không, đó không phải là trường hợp, mọi thứ hoạt động tốt ngoại trừ GPS. Tôi nhận được rất ít cập nhật vị trí với độ chính xác vị trí tồi tệ nhất như +/- 200m. Nhưng trong ứng dụng của tôi, tôi yêu cầu độ chính xác tối thiểu là +/- 50m. – Zee

0

Hey bạn có thể đặt chính xác vị trí với

self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; 
self.locationManager.distanceFilter = 10.0f; 
self.locationManager.headingFilter = 0.5; 

Hãy chắc chắn rằng bạn đang buộc cập nhật vị trí bằng cách cập nhật người quản lý vị trí

[_locationManager startUpdatingLocation]; 

Bạn đang prob sử dụng phương pháp didUpdateUserLocation để có được vị trí của bạn cập nhật nếu đó không phải là trường hợp sau đó sử dụng phương pháp đó để có được tọa độ vị trí khi vị trí được cập nhật.

Hãy chắc chắn rằng ứng dụng của bạn không khóa và đi vào chế độ nhàn rỗi này sẽ dừng lại vị trí updates.You có thể ngăn chặn điều này bằng cách sử dụng như sau

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

Hope trợ giúp này với một số vấn đề nhỏ của bạn.

+0

Tôi đoán bạn đã không đọc kỹ câu hỏi này trước khi trả lời, hơn nữa tôi giả sử (có thể là sai) mà bạn không hiểu được thực tế của setIdleTimerDisabled, bạn có thể tìm thấy văn bản sau trong tài liệu iOS. – Zee

+1

_Quan trọng Bạn chỉ nên đặt thuộc tính này nếu cần và phải chắc chắn đặt lại nó thành NO khi nhu cầu không còn tồn tại nữa. Hầu hết các ứng dụng sẽ cho phép hệ thống tắt màn hình khi bộ định thời không hoạt động trôi qua. Điều này bao gồm các ứng dụng âm thanh. Với việc sử dụng thích hợp Dịch vụ phiên âm thanh, quá trình phát lại và ghi sẽ không bị gián đoạn khi màn hình tắt. Các ứng dụng duy nhất nên tắt bộ định thời không hoạt động là lập bản đồ các ứng dụng, trò chơi hoặc các chương trình tương tự với tương tác người dùng lẻ tẻ. { – Zee

+0

Btw tôi đã sử dụng nó trong một ứng dụng bản đồ. Đọc câu hỏi của bạn sai ý nghĩ bạn đang sử dụng bản đồ để làm theo dõi. – Mou

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