2016-07-10 34 views
0

Mein Code verwendet ALAssentsLibrary, um Bilder auf dem iPhone bisher zu speichern. Und derzeit bin ich von ALAssetsLibrary zu PHPHotoLibrary wechseln.Fehlercode beim Speichern von Bildern von PHPhotoLibrary

In der Migration I für Fehlercodes sah wie ALAssetsLibraryWriteBusyError und ALAssetsLibraryWriteDiskSpaceError, aber ich konnte es nicht. Wenn meine Anwendung Bilder nicht speichern kann. Ich möchte die Benutzer wissen lassen, indem Sie den Fehlerdialog anzeigen.

Mein Code Bilder für das Speichern unter wie,

- (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); 
     }]; 
} 

Kennt jemand die entsprechende Fehlercodes in PHPhotoLibrary? Ich würde wirklich jede Information zu diesem Thema schätzen.

Antwort

0

+ creationRequestForAssetFromVideoAtFileURL: ist für Video. Ich denke du solltest stattdessen + creationRequestForAssetFromImageAtFileURL: verwenden.

+0

wie üblich können Sie NSError Code überprüfen, userInfo Eigenschaften erfassen Fehlerinformationen und bereiten lesbare Nachrichten für Benutzer vor. –

+1

@ AliKıran Ja, ich weiß über die userInfo in NSError. Ich würde gerne die ** entsprechenden ** Fehlerinformationen zu ALAsetsLibraryWriteDiskSpaceError und ALAssentsLibraryWriteBusyError wissen. Wenn möglich, implementiere ich den Wiederholungscode intern. –