2017-03-01 11 views
0

카메라로 이미지를 캡처하고 있습니다. 캡처 후 나는 이미지 이름을 얻을 수 있도록 URL을 얻고 싶습니다. 나는 이것을 위해 아래 코드를 사용하고 있습니다.ioS에서 PHPhotoLibrary의 ref url을 얻는 방법은 무엇입니까?

PHObjectPlaceholder *assetholder; 
     PHPhotoLibrary *objPhoto = [PHPhotoLibrary sharedPhotoLibrary]; 
     [objPhoto performChanges:^{ 

     PHAssetChangeRequest *assets = [PHAssetChangeRequest creationRequestForAssetFromImage:info[UIImagePickerControllerOriginalImage]]; 
     PHObjectPlaceholder *assetholder = assets.placeholderForCreatedAsset; 

     } completionHandler:^(BOOL success, NSError * _Nullable error) { 


     }]; 

어떻게 이미지 이름을 가져올 수 있도록 이미지의 URL을 얻을 수 있습니까?

+0

들과 유사 - LARGE BOUNTY - http://stackoverflow.com/questions/43791151/100-bounty-actually-get-the-filename-of-image-saved-to-photos-album-2017- ios10 – Fattie

답변

1
PHAsset *asset = nil; 
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init]; 
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]]; 
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:fetchOptions]; 
if (fetchResult != nil && fetchResult.count > 0) { 
    // get last photo from Photos 
    asset = [fetchResult lastObject]; 
} 

if (asset) { 
    // get photo info from this asset 
    PHImageRequestOptions * imageRequestOptions = [[PHImageRequestOptions alloc] init]; 
    imageRequestOptions.synchronous = YES; 
    [[PHImageManager defaultManager] 
      requestImageDataForAsset:asset 
          options:imageRequestOptions 
         resultHandler:^(NSData *imageData, NSString *dataUTI, 
             UIImageOrientation orientation, 
             NSDictionary *info) 
    { 
      NSLog(@"info = %@", info); 
      if ([info objectForKey:@"PHImageFileURLKey"]) { 
       // path looks like this - 
       // file:///var/mobile/Media/DCIM/###APPLE/IMG_####.JPG 
       NSURL *path = [info objectForKey:@"PHImageFileURLKey"]; 
    }            
    }]; 
} 
+0

자산 애널라이저는 iOS 9에서 삭제됩니다. 또한 질문을 공부하는 경우 카메라가 아닌 갤러리에서 이미지를 찍고 있기 때문에 nsurl이 없습니다. – iOSGuy

+0

@iOSGuy 사진의 마지막 사진의 이름이 변경됩니다. –

+0

포스터는이 대답을 필요로하지 않는 것처럼 보이지만 나는 그렇다. 고마워, 친구! – n4feng