2015-11-03 12 views
11

iOS9の場合、ALAssetsLibraryは推奨されていません。それでALAssetsの代わりにPHPPhotoLibraryと変更するにはどうすればよいですか?ALAssetsLibraryのようにPHPhotoLibraryを使用する方法

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) 
      { 

      } 
     }]; 
    } 

//私はこれが正解であるこのことを試みたが、didntの仕事

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 

     PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:outputFileURL]; 

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

答えて

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

ている、あなたはそれがエラーに無効なURLを与える@deniz – joey

+0

:)などとしてそれをマークしなければなりません。 –

+2

assetURLはどうですか?保存後にどのようにURLを取得できますか? – Besat

関連する問題