2011-08-25 34 views
25

Nếu tôi đóng ứng dụng iPad trong khi đang tải dữ liệu từ các dịch vụ, ứng dụng sẽ đóng lại nhưng sau đó ngay lập tức mở lại mà không làm gì cả. Tại thời điểm này, tôi không thể làm bất cứ điều gì; Tôi không thể đóng ứng dụng và tôi không thể tương tác với ứng dụng hoặc thiết bị. Cách duy nhất để sử dụng lại thiết bị là khởi động lại thiết bị. Các ứng dụng không sụp đổ, nó chỉ đơn giản là vô hiệu hóa các thiết bị.+ [Đồng bộ hóa giao dịch] được gọi trong giao dịch

Khi điều này xảy ra, các dòng sau xuất hiện trong giao diện điều khiển ba lần ngay sau khi applicationWillResignActiveapplicationDidEnterBackground:

+[CATransaction synchronize] called within transaction 

Nó muốn được gần như ổn nếu treo ứng dụng, nhưng thực tế là thiết bị được hiển thị hoàn toàn vô dụng là một vấn đề lớn. Nếu tôi có thể ngăn chặn lỗi này hoặc bằng cách nào đó phát hiện khi Giao dịch số tăng vấn đề này, thì điều đó sẽ ổn.

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

+0

bạn có tìm thấy giải pháp cho vấn đề của mình không? – matm

+0

tôi có cùng một vấn đề, bạn có biết lý do không? – nullmicgo

+1

Bạn đã tìm thấy câu trả lời nào chưa? Tôi dường như không thể tìm thấy bất kỳ trên mạng và tất cả các tinh chỉnh của tôi và thử outs thất bại. [Đồng bộ hóa giao dịch] này vẫn chặn luồng chính của tôi. – nferocious76

Trả lời

9

Điều này xảy ra khi nhiều hoạt ảnh đang diễn ra trên chuỗi chính. Tôi phải đối mặt với cùng một vấn đề. Trong trường hợp ứng dụng của tôi bị đóng băng trong khi làm động động CALayer và xoay thiết bị đồng thời. Vì vậy, tôi đã ngừng hoạt ảnh trong khi xoay thiết bị.

Hãy tìm mã

[CATransaction begin] 

//foo 
[CATransaction commit] 

Hãy chắc chắn rằng hình ảnh động bên trong mã này không trùng lặp với các hình ảnh động khác của bạn về chủ đề chính.

+0

là có nghĩa là tôi phải làm điều này trong tất cả commitAnimation? [Bắt đầu chuyển dịch]; [UIView commitAnimations]; [Cam kết giao dịch]; – nullmicgo

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