2016-07-10 11 views
0

내 코드는 ALAssetsLibrary를 사용하여 지금까지 iPhone에서 이미지를 가져 오거나 저장합니다. 그리고 현재 내가 바꾸고 있습니다 ALAssetsLibrary에서 PHPhotoLibrary. 나는 다음과 같은 오류 코드를 찾았 마이그레이션에 PHPhotoLibrary로 이미지를 저장하는 중 오류 코드

, ALAssetsLibraryWriteBusyErrorALAssetsLibraryWriteDiskSpaceError,하지만 난 할 수 없습니다. 내 응용 프로그램에서 이미지를 저장할 수없는 경우. 오류 대화 상자를 표시하여 사용자에게 이유를 알려주고 싶습니다.

이미지를 저장하는 내 코드는 다음과 같다

- (void)savePhotoFile:(NSURL *)fileURL completion:(savePhotoFileCompletion)completion 
{ 
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 

      PHAssetChangeRequest *assetChangeRequest; 
      assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:fileURL]; 

      if (self.assetCollection) { 
       PHAssetCollectionChangeRequest *assetCollectionChangeRequest = 
        [PHAssetCollectionChangeRequest changeRequestForAssetCollection:self.assetCollection]; 
       [assetCollectionChangeRequest addAssets:@[ [assetChangeRequest placeholderForCreatedAsset] ]]; 
      } 
     } 

     completionHandler:^(BOOL success, NSError *_Nullable error) { 
      DBGLog(@"success=%@, error=%@", (success ? @"YES" : @"NO"), error); 
      completion(success, error); 
     }]; 
} 

사람이 PHPhotoLibrary에서 해당 오류 코드를 알고 있나요? 이 문제에 대한 정보는 정말 고맙겠습니다.

답변

0

+ creationRequestForAssetFromVideoAtFileURL:은 동영상입니다. 대신 + creationRequestForAssetFromImageAtFileURL: 을 사용해야한다고 생각합니다.

+0

보통 NSError 코드를 확인할 수 있으므로 userInfo 속성은 오류 정보를 수집하고 사용자에게 읽을 수있는 메시지를 준비합니다. –

+1

@ AliKıran 예 NSError의 userInfo에 대해 알고 있습니다. ** ALAssetsLibraryWriteDiskSpaceError 및 ALAssetsLibraryWriteBusyError에 ** 해당 ** 오류 정보를 알고 싶습니다. 가능한 경우 내부적으로 다시 시도 코드를 구현합니다. –