PHImageManager로 UIImages를 가져 오는 것과 관련하여 이상한 문제가 있습니다.사진 라이브러리에서 편집하여 PHImageManager가 사진을 잘못 받아 들임
요청한 UIImage가 iPhone의 사진 앱에서 편집되지 않은 경우 모두 정상적으로 작동합니다. 사용자가 아이폰의 자기 사진 편집기에서 사진을 편집 한 경우 (즉, s는/그는 사진을 잘립니다) 것을
[[PHImageManager defaultManager] requestImageForAsset:[assets objectAtIndex:0] targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault options:requestOptions resultHandler:^void(UIImage *image, NSDictionary *info)
{
DebugLog(@"%ld", assets.count);
@autoreleasepool
{
if (image)
{
// Write image to system
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fileName = [NSString stringWithFormat:@"%ld_%@.jpg", (long)assets.count, [NSDate date]];
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];
[UIImageJPEGRepresentation(image, 0.5) writeToFile:filePath atomically:YES];
}
}];
그러나 경우에
PHImageManager은 사진을 검색하는 데 실패합니다.그러나 사전이된다 사진 응용 프로그램에서을 편집 한 후
{
PHImageFileOrientationKey = 0;
PHImageFileSandboxExtensionTokenKey = "5565e83d376d8c4e018b8ea41401e58e5aabbc18;00000000;00000000;000000000000001a;com.apple.app-sandbox.read;00000001;01000003;000000000039a762;/private/var/mobile/Media/DCIM/113APPLE/IMG_3433.PNG";
PHImageFileURLKey = "file:///var/mobile/Media/DCIM/113APPLE/IMG_3433.PNG";
PHImageFileUTIKey = "public.png";
PHImageResultDeliveredImageFormatKey = 9999;
PHImageResultIsDegradedKey = 0;
PHImageResultIsInCloudKey = 0;
PHImageResultIsPlaceholderKey = 0;
PHImageResultOptimizedForSharing = 0;
PHImageResultRequestIDKey = 55;
PHImageResultWantedImageFormatKey = 9999;
} :를 편집하지 않고
는 resultHandler에서 제공하는 사전은 "정보"라고하는 정상
{
PHImageFileOrientationKey = 0;
PHImageResultDeliveredImageFormatKey = 4031;
PHImageResultIsDegradedKey = 1;
PHImageResultRequestIDKey = 56;
PHImageResultWantedImageFormatKey = 9998;
이전에이 문제에 직면 한 사람이 있습니까?
답장을 보내 주셔서 감사합니다.
참고 : PHImageRequestOptionsVersion 및 PHImageRequestOptionsDeliveryMode는 다른 열거 형입니다. – BangOperator