5

iOS8 SDK でビルドしたアプリをアーカイブしてから、アドホック配布用に署名しています。

これは、さまざまな更新を含むすべてのデバイスで 2 年間機能しています。今、私はiPhone 6 plusを持っています。

アプリは、新しいインストール後、最初は正常に動作しましたが、現在はエラーでクラッシュし続けます:

「XPC API の誤用: 指定されたオブジェクトが必要なタイプではありません」

これは、侵入する前に発生します。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

誰でも助けることができますか?

4

2 に答える 2

1

自分のアプリでクラッシュを修正しましたが、根本原因を 100% 突き止めることはできません。メモリが破損しているか、オブジェクトを保持しすぎていたのではないかと思います。

重要なのは[UITableView dealloc]、問題が発生している場所を確認するために、テーブル ビューに dealloc を実装したことです。最終的にUITableViewCell、.xib ファイルからインスタンス化されたものまでたどり着きました。この特定の .xib には、複数UITableViewCellの が含まれていました。各テーブル ビューに独自の .xib を指定すると、クラッシュはなくなりました。

于 2014-10-29T21:38:20.440 に答える