[ios] ALAssetRepresentationメタデータメソッドでクラッシュが報告される


0 Answers

Question

私は、ALAssetLibrary内のアセットを列挙することから取得されるALAssetオブジェクトをラップするコードをいくつか持っています。 ラッパーオブジェクトのクラッシュに遭遇したという報告が、メタデータに含まれるALAssetを要求しています。

クラッシュするコードはこのラッパークラスにあり、単にALAssetのメタデータを次のように尋ねます:

[[myAlAsset defaultRepresentation] metadata]; 

ここに私が見ているクラッシュを代表する部分的なスタックトレースがあります:

0
CoreFoundation   CFDataGetBytePtr + 5
1
PhotoLibraryServices     __46-[PLManagedAsset adjustmentsXMPRepresentation]_block_invoke + 228
2
PhotoLibraryServices     __46-[PLManagedAsset adjustmentsXMPRepresentation]_block_invoke + 228
3
CoreData     developerSubmittedBlockToNSManagedObjectContextPerform + 88
4
CoreData     -[NSManagedObjectContext performBlockAndWait:] + 114
5
PhotoLibraryServices     -[PLManagedAsset adjustmentsXMPRepresentation] + 226
6
AssetsLibrary    __33-[ALAssetRepresentation metadata]_block_invoke + 24
7
AssetsLibrary    __53-[ALAssetRepresentationPrivate _performBlockAndWait:]_block_invoke + 68
8
CoreData     developerSubmittedBlockToNSManagedObjectContextPerform + 88
9
libdispatch.dylib    _dispatch_client_callout + 22
10
libdispatch.dylib    _dispatch_barrier_sync_f_invoke + 26
11
CoreData     -[NSManagedObjectContext performBlockAndWait:] + 106
12
AssetsLibrary    -[ALAssetsLibrary _performBlockAndWait:] + 134
13
AssetsLibrary    -[ALAssetRepresentationPrivate _performBlockAndWait:] + 176
14
AssetsLibrary    -[ALAssetRepresentation metadata] + 464

誰が何が起こっているかもしれないかについてのアイデアはありますか? これらのアセットの基礎となるAlAssetLibraryは静的な参照と一緒に保存されるため、メモリ内でクリーンアップされるべきではないので、ALAssetが無効化されることは期待しません。 この問題は、特にiOS 7がリリースされてから開始されたようです。

クラッシュ自体は0x0のKERN_INVALID_ADDRESSでEXC_BAD_ACCESSです。




Related