2013-08-21 32 views
5

Tôi đã nhận được báo cáo về sự cố xảy ra với ứng dụng iPad của chúng tôi, kèm theo thông báo tường trình được đính kèm. Hai dòng cuối cùng của thông điệp tường trình như sau:Ai đó có thể giải thích thông điệp tường trình 'CoreAnimation: timeed out fence'?

Aug 21 08:58:51 2TesterPad backboardd[26] <Warning>: CoreAnimation: timed out fence 25993 
Aug 21 08:58:51 2TesterPad backboardd[26] <Warning>: CoreAnimation: updates deferred for too long 
Aug 21 08:58:52 2TesterPad AppName[2428] <Warning>: CoreAnimation: failed to receive fence reply: 10004003 

Bất cứ ai có thể cho tôi biết những thông điệp nhật ký này có ý nghĩa gì? Tôi đã không thể tìm thấy bất kỳ thông tin tốt về điều này trực tuyến.

Trả lời

10

Điều này thường có nghĩa là hoạt động của hoạt ảnh lõi được xếp hàng đợi, nhưng đã chờ xử lý quá lâu và đã hết thời gian chờ.

Một số điều cần kiểm tra:

  • Đảm bảo bạn đang gọi phương thức siêu trên bất kỳ -viewDidAppear-viewWillAppear
  • Đảm bảo bạn đang không thực hiện hình ảnh động trước khi xem được trình bày qua -viewDidAppear
  • Kiểm tra bạn chỉ tương tác với giao diện người dùng trên luồng chính. Tôi đã nhìn thấy các vấn đề với thông báo hàng đợi chờ đợi khi hiển thị UIAlertView khi mã có liên quan được thực hiện trên một chuỗi nền. Bạn có thể chắc chắn bằng cách đặt mã của mình vào một khối và gửi mã đó đến chuỗi chính, ví dụ bên dưới
  • Điều này có thể xảy ra nếu bạn có một số phụ đề là . Trong trường hợp này, nó sẽ tạo hiệu ứng cho tất cả các bản xem trước của nó, ngay cả khi các bản xem trước đó không có trên màn hình. Xem câu trả lời này: https://stackoverflow.com/a/10938889/257550. Một giải pháp để khắc phục điều này sẽ là thiết kế lại chế độ xem để sử dụng UITableView, đảm bảo rằng chỉ các bản xem trước trong các ô hiển thị mới được tạo hoạt ảnh.

    dispatch_async(dispatch_get_main_queue(), ^{ 
    
        UIAlertView *alert = 
         [[UIAlertView alloc] initWithTitle:@"title", 
                mssage:@"message" 
               delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
    
        [alert show]; 
    }); 
    
2

Trước tiên tôi xin gửi lời cảm ơn Michael G.Emmons cho câu trả lời. Điều đó đưa tôi đi đúng hướng.

Vấn đề là, tôi đã gọi dịch vụ trong (listView) viewWillApear và trong (detailsView) Tôi đã lưu các chi tiết (dịch vụ được gọi), bỏ quaAlert có hoạt ảnh, khi quay lại màn hình danh sách (lần nữa) hoạt hình được gọi. Đã có chất đống cho somereason và ném cảnh báo này. Các thiết bị sử dụng để treo mà không có bất kỳ thông điệp tường trình trong giao diện điều khiển Xcode và nó đã được khó khăn để gỡ lỗi.

Nó hoạt động tốt với iOS (7), gặp sự cố với iOS 8, trong Trình mô phỏng iPhone 6 trở lên.

Tôi đã có một vấn đề tương tự, giao diện điều khiển các bản ghi của tôi là: : CoreAnimation: timed out rào e025 : CoreAnimation: thất bại trong việc nhận hàng rào trả lời: 10004003

Giải pháp: tôi chuyển mã (cuộc gọi dịch vụ) để thích hợp từ viewWillAppear để xemDidAppear và xóa các hoạt ảnh không cần thiết.

Nó giải quyết được vấn đề của tôi. Tôi hy vọng nó sẽ giúp một số.

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