2008-10-30 27 views
8

Tôi có một ứng dụng sử dụng gia tốc kế. Đôi khi, ứng dụng sẽ khởi chạy mà không cần cập nhật dữ liệu gia tốc. Khởi chạy lại ứng dụng, đôi khi vấn đề vẫn tồn tại, đôi khi không. Và thậm chí còn hơn nữa, đôi khi tôi có thể thử 10 lần và mọi thứ hoạt động như mong đợi. Đây có phải là một lỗi, hoặc có thể một cái gì đó tôi đang mất tích. Gỡ lỗi, mã này không bao giờ được gọi khi gia tốc kế không được cập nhật:Đôi khi phương pháp đại biểu Accelerometer không được gọi là

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration; 

Bất kỳ ý tưởng nào?

Trả lời

7

Cuối cùng tôi đã tìm được một công việc. Đây là một lỗi đã biết. Vì vậy, công việc xung quanh tôi tìm thấy là để bắt đầu một sợi và có thread này kiểm tra nếu đại biểu gia tốc đã được gọi, nếu nó có, sau đó bỏ thread, nếu không, thiết lập các đại biểu một lần nữa, và tái kiểm tra, cho đến khi gia tốc đại biểu được gọi. Tôi đã thử nghiệm điều này một cách thấu đáo và nó hoạt động hoàn hảo. Tôi hy vọng điều này sẽ được giải quyết trên bản cập nhật tiếp theo của hệ điều hành iPhone.

1

Tôi gặp vấn đề tương tự. Nó xảy ra có lẽ 1/20 lần với một ứng dụng tôi đã làm từ mẫu CrashLanding. Sau khi tôi nhận thấy nó với ứng dụng của tôi, tôi nắm lấy một phiên bản mới của Crashlanding, cài đặt nó, và cuối cùng đã nhận nó để bắt đầu với gia tốc thất bại.

Tôi không biết cách khắc phục. Thành thật mà nói tôi ghét gia tốc ... ít nhất là đối với các trò chơi điều khiển: - \

Ngoài ra, gia tốc đôi khi thất bại khi tôi bắt đầu dự án mẫu "gia tốc kế".

1

Như những người khác đã đề cập, đây là lỗi đã biết; Tôi đã đăng nhập lỗi với Apple (Bug Reporter vấn đề ID 6093028), có lẽ những người khác đã làm như vậy là tốt. Theo như tôi biết, tất cả các ứng dụng sử dụng UIAccelerometer (bao gồm cả ứng dụng mẫu của Apple) đều gặp vấn đề này, mặc dù tần suất xảy ra thay đổi.

1

FWIW, ứng dụng của tôi được sử dụng rộng rãi và nó sử dụng gia tốc kế và tôi chưa bao giờ gặp phải vấn đề này.

Trường hợp sử dụng của tôi có thể khác với trường hợp của bạn: Tôi chỉ bật nó theo yêu cầu của người dùng, sau khi ứng dụng được khởi chạy.

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