2015-11-03 14 views
11

iOS9 için ALAssetsLibrary kullanımdan kaldırılmıştır. Peki ALAssets yerine PHPPhotoLibrary olarak nasıl değiştirilir? ALAssetsLibrary gibi PHPhotoLibrary nasıl kullanılır

if (RecordedSuccessfully && recording == NO) { 
    //----- RECORDED SUCESSFULLY ----- 
    NSLog(@"didFinishRecordingToOutputFileAtURL - success"); 
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
    if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:outputFileURL]) 
    { 
     [library writeVideoAtPathToSavedPhotosAlbum:outputFileURL 
            completionBlock:^(NSURL *assetURL, NSError *error) 
     { 
      if (error) 
      { 

      } 
     }]; 
    } 

// ben bu denedim ama işe yaramadı

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 

     PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:outputFileURL]; 

     NSParameterAssert(createAssetRequest); 
    } 
             completionHandler:^(BOOL success, NSError *error) {}]; 
    } 
} 

cevap

16
// Save to the album 
    __block PHObjectPlaceholder *placeholder; 

    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 
     PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:outputFileURL]; 
     placeholder = [createAssetRequest placeholderForCreatedAsset]; 

    } completionHandler:^(BOOL success, NSError *error) { 
     if (success) 
     { 
      NSLog(@"didFinishRecordingToOutputFileAtURL - success for ios9"); 
     } 
     else 
     { 
      NSLog(@"%@", error); 
     } 
    }]; 
+1

bu Doğru cevap, bu tür olarak işaretleyin gerektiğini :) – joey

+0

Bu hatayı Geçersiz URL verir @deniz. –

+2

Nasıl assetURL hakkında? Kaydetmeden sonra nasıl url alabilirim? – Besat

İlgili konular