我在〜/ Library / Application Support / iphone模拟器/ 4.3.2 / Applications / ApplicationGUID / Documents文件夹中有.m4v视频文件。但是当我运行时,我的应用程序崩溃在NSlog中,它显示文件路径为空。
我在applicationDidFinishLaunching中有以下代码:(UIApplication *)application
NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/Sample_ipod.m4v"]];
NSString *videoFilepath = [[NSBundle mainBundle] pathForResource:@"VID" ofType:@"m4v"];
NSLog(@"Filepath is: %@", videoFilepath);
UISaveVideoAtPathToSavedPhotosAlbum(filePath, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
imagePickerController.delegate = self;
imagePickerController.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[window addSubview:imagePickerController.view];
答案 0 :(得分:0)
检查filePath
处的文件是否存在...您的路径可能错误,或者文件已从您的捆绑包中删除,等等。
使用NSFileManager
检查是否存在。
如果不能解决问题,请发布有关崩溃的详细信息。崩溃的代码是什么,它给出了什么信息?
答案 1 :(得分:0)
您没有向我们提供崩溃详细信息,因此我认为它因为null filePath而崩溃。
有更好的方法可以获取Documents文件夹,例如:
NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"Sample_ipod.m4v"];
使用[[NSBundle mainBundle] pathForResource:...]
不会在Documents中找到文件,这就是文件所在的位置。请使用我上面显示的代码来代替filePath。
答案 2 :(得分:0)
好。我弄清楚了。我没有实现方法(视频:didFinishSavingWithError:contextInfo。这就是为什么,我的应用程序崩溃了。它现在运行良好。