写真のアクセス許可が与えられておらず、許可を求めたオブジェクトが割り当てを解除しようとしていると、アプリケーションがクラッシュします。写真フレームワーククラッシュ: 'このアプリケーションは写真データにアクセスできません。'
Appleのサンプルコード(Photosフレームワーク用)もクラッシュします。次のスタックトレースと
マイアプリのクラッシュ:
*** Terminating app due to uncaught exception 'NSObjectInaccessibleException', reason: 'This application is not allowed to access Photo data.' *** First throw call stack: ( 0 CoreFoundation 0x000000010a324f65 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010c030deb objc_exception_throw + 48 2 PhotoLibraryServices 0x000000011c1f7e2d -[PLPhotoLibrary initWithTransientContext:name:] + 1183 3 Photos 0x000000011bd6a445 __30-[PHPhotoLibrary photoLibrary]_block_invoke + 59 4 libdispatch.dylib 0x0000000110f5e49b _dispatch_client_callout + 8 5 libdispatch.dylib 0x0000000110f49e28 dispatch_once_f + 543 6 Photos 0x000000011bd6a404 -[PHPhotoLibrary photoLibrary] + 140 7 Photos 0x000000011bd3e5e8 -[PHCoreImageManager _cancelAndFlushPreheatItemsForAssets:CPLPrefetching:domain:operation:passingTestHandler:didCancelHandler:] + 174 8 Photos 0x000000011bd5900c -[PHImageManager dealloc] + 176 9 libobjc.A.dylib 0x000000010c044afe _ZN11objc_object17sidetable_releaseEb + 232 10 MyApp 0x000000010f271812 _TToFC12MyApp16PhotosDataSourceE + 66 11 libobjc.A.dylib 0x000000010c02f7bb _ZL27object_cxxDestructFromClassP11objc_objectP10objc_class + 127 12 libobjc.A.dylib 0x000000010c03a390 objc_destructInstance + 93 13 libobjc.A.dylib 0x000000010c03a3c3 object_dispose + 22 14 MyApp 0x000000010f271796 _TFC12MyApp16PhotosDataSourceD + 198 15 MyApp 0x000000010f2717c2 _TToFC12MyApp16PhotosDataSourceD + 34 16 libobjc.A.dylib 0x000000010c044afe _ZN11objc_object17sidetable_releaseEb + 232 17 MyApp 0x000000010f2668f2 _TToFC12MyApp25PhotoPickerViewControllerE + 178 18 libobjc.A.dylib 0x000000010c02f7bb _ZL27object_cxxDestructFromClassP11objc_objectP10objc_class + 127 19 libobjc.A.dylib 0x000000010c03a390 objc_destructInstance + 93 20 libobjc.A.dylib 0x000000010c03a3c3 object_dispose + 22 21 UIKit 0x000000010adb54b9 -[UIResponder dealloc] + 130 22 UIKit 0x000000010ad40721 -[UIViewController dealloc] + 1949 23 UIKit 0x000000010ad1c97b -[UIPresentationController .cxx_destruct] + 262 24 libobjc.A.dylib 0x000000010c02f7bb _ZL27object_cxxDestructFromClassP11objc_objectP10objc_class + 127 25 libobjc.A.dylib 0x000000010c03a390 objc_destructInstance + 93 26 libobjc.A.dylib 0x000000010c03a3c3 object_dispose + 22 27 UIKit 0x000000010ad185db -[UIPresentationController dealloc] + 56 28 UIKit 0x000000010b4a9046 -[_UIFullscreenPresentationController dealloc] + 56 29 libobjc.A.dylib 0x000000010c044afe _ZN11objc_object17sidetable_releaseEb + 232 30 UIKit 0x000000010ad1838c __destroy_helper_block_411 + 24 31 libsystem_blocks.dylib 0x0000000110fdb6b1 _Block_release + 128 32 UIKit 0x000000010b568d9c -[_UIViewControllerTransitionContext .cxx_destruct] + 94 33 libobjc.A.dylib 0x000000010c02f7bb _ZL27object_cxxDestructFromClassP11objc_objectP10objc_class + 127 34 libobjc.A.dylib 0x000000010c03a390 objc_destructInstance + 93 35 libobjc.A.dylib 0x000000010c03a3c3 object_dispose + 22 36 UIKit 0x000000010b567825 -[_UIViewControllerTransitionContext dealloc] + 56 37 UIKit 0x000000010b568e51 -[_UIViewControllerOneToOneTransitionContext dealloc] + 79 38 libobjc.A.dylib 0x000000010c044afe _ZN11objc_object17sidetable_releaseEb + 232 39 MyApp 0x000000010d4818d2 block_destroy_helper + 66 40 MyApp 0x000000010d481988 _TPA__TFFC16MyApp31CustomShrinkAnimator17animateTransitionFS0_FPSo36UIViewControllerContextTransitioning_T_U0_FSbT_ + 152 41 MyApp 0x000000010d481a28 _TPA__TTRXFo_dSb_dT__XFo_iSb_iT__ + 120 42 MyApp 0x000000010d481aed block_destroy_helper8 + 13 43 libsystem_blocks.dylib 0x0000000110fdb6b1 _Block_release + 128 44 UIKit 0x000000010ac5ee47 -[UIViewAnimationBlockDelegate .cxx_destruct] + 43 45 libobjc.A.dylib 0x000000010c02f7bb _ZL27object_cxxDestructFromClassP11objc_objectP10objc_class + 127 46 libobjc.A.dylib 0x000000010c03a390 objc_destructInstance + 93 47 libobjc.A.dylib 0x000000010c03a3c3 object_dispose + 22 48 libobjc.A.dylib 0x000000010c044afe _ZN11objc_object17sidetable_releaseEb + 232 49 CoreFoundation 0x000000010a228d4d -[__NSDictionaryI dealloc] + 141 50 libobjc.A.dylib 0x000000010c044afe _ZN11objc_object17sidetable_releaseEb + 232 51 libobjc.A.dylib 0x000000010c0450b8 _ZN12_GLOBAL__N_119AutoreleasePoolPage3popEPv + 488 52 CoreFoundation 0x000000010a2129c6 _CFAutoreleasePoolPop + 22 53 CoreFoundation 0x000000010a246941 __CFRunLoopRun + 2081 54 CoreFoundation 0x000000010a245e98 CFRunLoopRunSpecific + 488 55 GraphicsServices 0x0000000112598ad2 GSEventRunModal + 161 56 UIKit 0x000000010abb8676 UIApplicationMain + 171 57 MyApp 0x00000001082b470d main + 109 58 libdyld.dylib 0x0000000110f9392d start + 1 59 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException
任意のポインタは本当にいただければ幸いです。
感謝を。今私はアクセス許可なしでPhotosフレームワークAPIを使用していません。実際に私はフェッチしていませんでしたが、PHCachingImageManagerをパーミッションを取得せずにインスタンス化しました。割り当て解除によってクラッシュが発生していました。 –
@OFenômenoありがとう、そのような重要な詳細。権限が拒否された場合、画像ピッカーから戻っている間にアプリがクラッシュした場合は、許可を確認する前にimageManagerを初期化しないでください。 – TimLR
あなたは 'PHAuthorizationStatusRestricted'(すなわちペアレンタルコントロール)と' PHAuthorizationStatusDenied'ステータスの両方をチェックするべきです。 – Rivera