2014-10-17 29 views
5

Tôi có một ứng dụng được xây dựng trên SDK iOS8 mà tôi lưu trữ và sau đó đăng nhập để phân phối adhoc.Tai nạn iOS8/iPhone6 ​​+ XPC

Điều này đã hoạt động trong 2 năm trên tất cả các thiết bị có các bản cập nhật khác nhau. Bây giờ tôi có một iPhone 6 cộng.

Ứng dụng chạy tốt đầu tiên sau khi một cài đặt mới nhưng bây giờ nó vẫn không ngừng đâm với lỗi:

"XPC API Misuse: Given object not of required type"

Điều này xảy ra trước khi nó xâm nhập vào didFinishLaunchingWithOptions

Gọi stack:

Thread 0 name: XPC API Misuse: Given object not of required type. Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libxpc.dylib 0x0000000197dd99d8 _xpc_api_misuse + 60 1 libxpc.dylib 0x0000000197dd99d4 _xpc_api_misuse + 56 2 libxpc.dylib 0x0000000197dc9ae8 xpc_dictionary_set_value + 88 3 libxpc.dylib 0x0000000197dc5538 xpc_dictionary_set_string + 48 4 CoreFoundation 0x0000000186e4b590 _CFXNotificationRemoveObservers + 912 5 Foundation 0x0000000187d1ff20 -[NSNotificationCenter removeObserver:name:object:] + 252 6 UIKit 0x000000018b8588e4 -[UITableView dealloc] + 96 7 UIKit 0x000000018b6bf510 -[UIView(Hierarchy) removeFromSuperview] + 696 8 UIKit 0x000000018b79cb24 -[UIScrollView removeFromSuperview] + 76 9 UIKit 0x000000018b6c219c -[UIView dealloc] + 444 10 CoreFoundation 0x0000000186e217e4 CFRelease + 520 11 CoreFoundation 0x0000000186e2dda4 -[__NSArrayM dealloc] + 148 12 libobjc.A.dylib 0x0000000197599720 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 560 13 CoreFoundation 0x0000000186e25400 _CFAutoreleasePoolPop + 24 14 Foundation 0x0000000187d1f180 -[NSAutoreleasePool release] + 144 15 UIKit 0x000000018b72f9ac -[UIApplication _run] + 584 16 UIKit 0x000000018b72a980 UIApplicationMain + 1484 17 HelloWorld 0x000000010000636c main (main.m:16) 18 libdyld.dylib 0x0000000197beea04 start + 0

Có ai giúp được không?

+0

Tôi đã có một số báo cáo sự cố rải rác từ người dùng hiển thị cùng một vấn đề cơ bản. Tất cả trên iPhone 6 và 6+. Không có thiết bị nào khác. – rmaddy

+0

Cùng một vấn đề và chỉ xảy ra trên iPhone 6 và iPhone 6 Plus. – nonamelive

Trả lời

1

Tôi đã khắc phục sự cố trong ứng dụng của riêng mình nhưng tôi không thể 100% pin trỏ nguyên nhân gốc. Tôi nghi ngờ đó là sự tham nhũng của bộ nhớ hoặc hơn là giữ lại một vật thể.

Chìa khóa là [UITableView dealloc] Tôi đã triển khai dealloc trong chế độ xem bảng của tôi để xem sự cố đã xảy ra ở đâu. Cuối cùng tôi đã truy tìm nó xuống một UITableViewCell được khởi tạo từ tệp .xib. Cụ thể .xib này chứa nhiều UITableViewCell s. Sau khi đưa ra mỗi chế độ xem bảng, nó là của riêng .xib vụ tai nạn biến mất.

+0

Có vấn đề này, nhưng sử dụng bảng phân cảnh. Bạn có bất kỳ suy nghĩ làm thế nào để sửa lỗi này? –

+0

Cùng một vấn đề. Đó là một trong những sự cố hàng đầu của chúng tôi trong các ứng dụng của chúng tôi. – Jake

+0

Thấy như bạn đã có một lỗi "API lạm dụng", Apple thường xuyên tài liệu về điều này trong suốt tài liệu XPC của họ vv ... Interstly đủ nó đi lên trong các trang người đàn ông quá. XPC có một hệ thống bộ nhớ khá phức tạp mà gels chặt chẽ với 'launchd' làm chỉ là tùy tiện" chạy lại "một ứng dụng bị lỗi sau khi thực hiện thay đổi sẽ không phải lúc nào cũng sửa chữa nó. Bộ nhớ đệm XPC cần xả nước khi nói đến XPC bị treo. Đôi khi, nó đi xuống để chờ đợi cho launchd (có lợi cho gây ra có thể và căng thẳng ra) ... Ngoài quan tâm, các XPC cache flush được thực hiện bởi '/ usr/libexec/xpchelper --rebuild-cache' –