当我尝试从IOS应用程序上传600MB视频到Facebook时,应用程序崩溃

时间:2011-08-04 13:41:53

标签: ios facebook video

我使用Facebook iOS SDK将视频从我的iOS应用程序上传到Facebook。

我尝试使用iOS应用程序中的FBConnect Library将90MB视频上传到Facebook。 它上传成功。

但是当我尝试上传600MB视频时,应用程序崩溃了 - 程序收到信号“0”错误。

我想知道,使用iOS应用程序中的FBConnect库上传视频是否有视频大小限制?

FBVideoUpload.m类以下方法的Follwing方法存在问题 startUploadWithURL //由于NSData对象,应用程序崩溃因为NSData试图在单个对象中保存600MB视频文件数据// params setObject:[NSData dataWithContentsOfURL:movieURL] forKey:[movieURL lastPathComponent]]; // App崩溃了

4 个答案:

答案 0 :(得分:2)

Facebook的REST API视频上传文档说:

每个用户都受到限制的长度和大小 他们可以上传的视频文件,就像上传时一样 通过Facebook。 使用video.getUploadLimits确定特定用户的限制。

它可能与您使用的API不同,但我认为原理是相同的。

答案 1 :(得分:1)

我认为您可能希望在将600MB视频发送到Facebook之前对其进行编码,或者至少对其进行大量压缩并将其推送到您的某个服务器以进行远程发布。在下载完成之前,iPhone可能会耗尽果汁。

或者,您可以将捕获的视频拆分为多个细分并单独上传。

答案 2 :(得分:0)

您的应用崩溃的确切原因是,您尝试将更多MB放入内存而不是可用内存。 iOS会通过关闭您的应用来做出反应。如果你真的需要能够处理这么大的文件,你必须找到一点点处理它的方法。

答案 3 :(得分:0)

使用提及的代码:

NSData *movieData;  
NSError *dataReadingError = nil;        
movieData = [NSData dataWithContentsOfURL: movieURL options:NSDataReadingMapped error:&dataReadingError];        
if(movieData != nil)        
    NSLog(@"Successfully loaded the data.");   
else        
    NSLog(@"Failed to load the data with error = %@", dataReadingError);