2014-10-17 6 views
5

У меня есть приложение, основанное на SDK iOS8, который я архивирую, а затем подписываю для adhoc-распространения.авария iOS8/iPhone6 ​​+ XPC

Это работало 2 года на всех устройствах с различными обновлениями. Теперь у меня есть iPhone 6 плюс.

приложение побежал штраф первый после новой установки, но теперь он держит сбой с ошибкой:

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

Это происходит, прежде чем он попадает в стек didFinishLaunchingWithOptions

вызовов:

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

Может ли кто-нибудь помочь?

+0

У меня было несколько разбросанных отчетов о сбоях от пользователей, показывающих ту же основную проблему. Все на iPhone 6 и 6+. Никаких других устройств. – rmaddy

+0

Такая же проблема и происходит только на iPhone 6 и iPhone 6 Plus. – nonamelive

ответ

1

Я исправил ошибку в своем приложении, но я не могу направить 100% основную причину. Я подозреваю, что это повреждение памяти или сохранение объекта.

Ключ был [UITableView dealloc] Я реализовал dealloc в своем представлении таблицы, чтобы увидеть, где возникла проблема. Я в конечном итоге проследил его до UITableViewCell, созданного из файла .xib. Этот конкретный .xib содержит несколько UITableViewCell s. После того, как каждый вид таблицы стал собственным .xib, крах исчез.

+0

Имейте эту проблему, но используйте раскадровку. У вас есть мысли, как это исправить? –

+0

Такая же проблема. Это один из наших главных сбоев в наших приложениях. – Jake

+0

Увидев, что у вас есть ошибка API Misuse, Apple регулярно документирует это во всех своих документах XPC и т. Д. ... Вполне достаточно, чтобы это появилось и на страницах руководства. XPC имеет довольно сложную систему кэширования, которая тесно связана с 'launchd', просто произвольно« перезапустив »аварийное приложение после внесения изменений не всегда будет исправлять его. Кэш XPC нуждается в очистке, когда дело доходит до сбоев XPC. Время от времени, доходит до ожидаемого запуска (в пользу того, что может вызвать экстренный вопрос, возможно, и подчеркнуть) ... Из интереса, кеш-память XPC выполняется командой '/ usr/libexec/xpchelper -rebuild-cache' –

Смежные вопросы