0

バックグラウンド スレッドでアドレス帳を読んでいると、次のスタック トレースでいくつかのクラッシュ レポートが表示されます。

    0    libsystem_kernel.dylib 
__pthread_kill + 8
1    libsystem_c.dylib  
abort + 94
2    AppSupport 
abortAfterPassingIntegrityCheck + 38
3    AppSupport 
runIntegrityCheckAndAbort + 526
4    AppSupport 
checkResultWithStatement + 120
5    AppSupport 
CPSqliteStatementReset + 60
6    AddressBook    
_imageStoreHasFullSizeImageForRecord + 102
7    AddressBook    
ABCImageStoreHasImagesForRecordWithFormat + 48
8    AddressBook    
ABCImageStoreHasImagesForRecord + 14
9    AddressBook    
ABCPersonHasImageDataEntries + 186
10   AddressBook    
ABCPersonHasImageData + 10
11   AddressBook    
ABPersonHasImageData + 8
12   Brewster ✭  AddressBookHandler.m line 501
-[AddressBookHandler needToImportPhotoContacts] + 50

複製できないので、たまにしか起こりません。このコードは、ABPerson に画像があるかどうかを確認しようとしています。何が原因でしょうか?

ありがとうございました。

4

1 に答える 1

5

私は同じ問題を見ていました。ABAddressBookRefは単一のスレッドでのみ使用できるためと思われます。ABAddressBookCreateドキュメントごと:

重要ABAddressBookRefのインスタンスが1つのスレッドでのみ使用されていることを確認する必要があります。

この問題を参照している別の記事があります:http://blog.byadrian.net/2012/05/05/ios-addressbook-framework-and-gcd/

于 2012-10-22T17:50:41.010 に答える