2011-08-12 5 views
0

UIImagePickerControllerを使用して、私はビデオをキャプチャしました。私は[picker stopVideoCapture]を呼び出すと、次のデリゲートメソッドが呼び出されます。iPhoneでキャプチャしたビデオを別のディレクトリに移動しようとしています

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 

    NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL]; 

    NSError *error = nil; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *path = [paths objectAtIndex:0]; 

    NSFileManager *fileManager = [[NSFileManager alloc] init]; 

    NSLog(@"attempting to copy: %@ to: %@", [url absoluteString], [NSString stringWithFormat:@"%@/rawMovie.MOV",path]); 


if ([fileManager moveItemAtPath:[url absoluteString] toPath:[NSString stringWithFormat:@"%@/rawMovie.MOV",path] error:&error] != YES) 
    NSLog(@"Can't move file with error: %@", [error localizedDescription]); 

} 

このメソッドがしかし、呼び出されると、それはエラーの読み取りを返します。

The operation couldn’t be completed. (Cocoa error 4.) 

私の知る限り伝えることができたとして、これは何らかの不明な理由でファイルをコピーできないことを意味します。誰も私にこのエラーがスローされている理由についてより良い答えを与えることができますか?それとも、誰かがキャプチャした動画をアプリのドキュメントディレクトリに直接保存する最善の方法を教えてもらえますか?

おかげで、 ジェームズ

+0

結局のところ、UIImagePickerControllerの代わりにAVFoundationを使用してしまったばかりです。そうすれば、ドキュメントディレクトリに直接保存することができました。 – James

答えて

1

は、なぜあなたはブレークポイントを入れてはいけない& *pathurlの出力を参照してください。また、デバイスにビデオを保存するのに十分なディスク容量がありますか?

1

私は、デフォルトのファイルマネージャを使用する必要があると思う:

NSFileManager* fileManager = [NSFileManager defaultManager]; 

あなたはまた、(うまくいけば)より多くの詳細については、エラーのuserinfoをを記録することができます。

NSLog(@"Can't move file with error: %@", [error userInfo]); 
関連する問題