2013-02-23 22 views
6

Là người dùng la bàn cơ khí, tôi nhận thấy rằng từ kế cung cấp, thường giảm 45 độ hoặc hơn, mặc dù màn hình hiệu chỉnh không xuất hiện trong trường hợp đó.
Từ kế ios: hiển thị lực hiệu chuẩn xem

Nếu tôi kiểm tra hoặc sử dụng ứng dụng của mình ở ngoài trời, tôi đã từng hiệu chỉnh từ kế khi xem la bàn của tôi xuất hiện. Điều này hoạt động, có vẻ như điều này là cần thiết.

Tôi không muốn hiển thị cho người dùng ứng dụng của tôi một tiêu đề không chính xác, khi có thể đạt được một hoặc ít chính xác hơn, bằng cách thực hiện hiệu chuẩn thường xuyên với chuyển động hình số tám.

Có ai biết giải pháp nào để buộc hiển thị chế độ xem hiệu chuẩn từ kế, mỗi lần xem la bàn của tôi có xuất hiện không?

Tôi đã tìm kiếm tất cả (?) Bài đăng ở đây, chỉ một người có ý tưởng tương tự nhưng không có câu trả lời.

Trả lời

3

Tôi sợ không có cách nào để làm điều này - trong khi các API cho phép bạn bỏ quan điểm hiệu chuẩn (sử dụng dismissHeadingCalibrationDisplay gọi) để ngăn chặn nó khỏi bị gián đoạn giao diện của ứng dụng, không có cách nào để buộc một hiệu chuẩn để bắt đầu. tôi muốn đề nghị nộp đơn yêu cầu tính năng với Apple nếu bạn nghĩ nó là cái gì mà có thể có ích.

+1

Không có API, nhưng [công cụ đơn giản] (http://stackoverflow.com/a/42877044/1971013) hoạt động. –

1

Tôi không nghĩ rằng có bất kỳ api cho rằng trong iOS6 và dưới :(

1
- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager 
*)manager { 
     if(!manager.heading) return YES; // Got nothing, We can assume we got to calibrate. 
     else if(manager.heading.headingAccuracy < 0) return YES; // 0 means invalid heading, need to calibrate 
     else if(manager.heading.headingAccuracy > 5)return YES; // 5 degrees is a small value correct for my needs, too. 
     else return NO; // All is good. Compass is precise enough. 
    } 

Font :Compass calibration objective-c

+0

Câu hỏi là khác nhau: Asume ios cho rằng hiệu chuẩn hiện không cần thiết, nhưng tôi nghĩ rằng nó luôn luôn là cần thiết, vì vậy tôi muốn xem calibratuion, bất cứ khi nào tôi hiển thị la bàn của tôi. – AlexWien

+0

'locationManagerShouldDisplayHeadingCalibration:' được gọi là _bản cập nhật tiêu đề thời gian đầu tiên được yêu cầu_, vì vậy bạn có thể 'startHeadingUpdates' ngay khi bạn hiển thị la bàn và trả về TRUE. Đó có phải là những gì bạn đã cố gắng làm không? –

+0

không, khi đi bộ ngoài trời, bạn cần la bàn thường xuyên. nhưng la bàn chỉ chính xác nếu bạn luôn hiệu chỉnh nó bằng cách sử dụng nó. vì vậy tôi muốn ép buộc !! chế độ xem hiệu chỉnh sẽ được hiển thị bất cứ khi nào ứng dụng của tôi quyết định hiển thị nó. – AlexWien

1

Lấy nam châm tủ lạnh và di chuyển nó ở đầu màn hình iPhone của bạn. Bạn cũng có thể cần phải xoay iPhone của bạn trên một vài trục cùng một lúc; sáng tạo.

Lưu ý rằng để đánh lừa từ kế một lần nữa bằng nam châm, bạn có thể cần phải cho phép nó đặt lại chính nó vào từ trường Trái Đất. Bạn làm điều này bằng cách xoay iPhone trên tất cả các trục.

Tôi đã xảy ra lỗi sau khi màn hình hiệu chỉnh biến mất một lần nữa. Phương pháp trên cho phép tôi buộc nó xuất hiện theo ý muốn trong vòng 10 giây hoặc lâu hơn.

Một số thông tin bổ sung: Khi màn hình hiệu chỉnh xuất hiện, hãy gọi số applicationWillResignActive của AppDelegate. Sau đó, khi hoàn thành: applicationDidBecomeActive. (Lỗi của tôi: Tôi chỉ khởi động lại trình quản lý chuyển động của mình ở applicationWillEnterForeground, không phải trong applicationDidBecomeActive.)

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