在 iPhone 上测试我的应用程序时,我似乎遇到了 ALAssetLibrary 的缓存问题。
用于产生此问题的步骤
- 使用 iPhone 相机拍照
- 使用 ALAssetsLibrary 访问相机胶卷(通过ELCImagePicker)
问题是当 ELCImagePicker 显示相册列表时,在步骤 1 中拍摄的照片的缩略图显示为相机胶卷相册(这是正确的),但是当我进入相机胶卷相册时,该照片不存在。控制台日志中也会显示这样的错误:
Cached count is off for 0x2391d0 <x-coredata://D226A7C3-95D5-40B3-BCFB-726E534AB57A/Album/p1> (1357 != 1358) moc=<PLManagedObjectContext: 0x63794c0>
1357 和 1358 似乎与我拍照前后的照片数量相匹配,关闭图像选择器并再次打开它并没有帮助。但是如果我切换到照片应用程序,照片就会显示在那里。当我返回我的应用程序时,现在也会显示照片。
我都试过了
UIImageWriteToSavedPhotosAlbum ( UIImage *image, id completionTarget, SEL completionSelector, void *contextInfo );
和 ALAssetsLibrary 的
(void)writeImageToSavedPhotosAlbum:(CGImageRef)imageRef orientation:(ALAssetOrientation)orientation completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock
但两者都不起作用。任何帮助是极大的赞赏。谢谢!