使用iOS SDK将大型视频上传到Facebook [英] Upload large videos to Facebook with iOS SDK
本文介绍了使用iOS SDK将大型视频上传到Facebook的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在iOS Facebook SDK中上传大型视频?我有一个4分钟的视频,总是出错,出现未知错误。
How do I upload large videos in the iOS Facebook SDK? I have a 4 minute video that always errors out with an unknown error.
推荐答案
我必须为视频参数构建我的NSData像这样:
I had to construct my NSData for the video parameter like so:
videoData = [NSData dataWithContentsOfURL:url options:NSDataReadingMappedAlways error:&error];
我还必须在FBRequestConnection.m中更改此方法,并开始工作:
I also had to change this method in FBRequestConnection.m and things started working:
//
// Generates a URL for a batch containing only a single request,
// and names all attachments that need to go in the body of the
// request.
//
// The URL contains all parameters that are not body attachments,
// including the session key if present.
//
// Attachments are named and referenced by name in the URL.
//
- (NSString *)urlStringForSingleRequest:(FBRequest *)request forBatch:(BOOL)forBatch
{
[request.parameters setValue:@"json" forKey:@"format"];
[request.parameters setValue:kSDK forKey:@"sdk"];
NSString *token = request.session.accessTokenData.accessToken;
if (token) {
[request.parameters setValue:token forKey:kAccessTokenKey];
[self registerTokenToOmitFromLog:token];
}
NSString *baseURL;
if (request.restMethod) {
if (forBatch) {
baseURL = [kBatchRestMethodBaseURL stringByAppendingString:request.restMethod];
} else {
baseURL = [kRestBaseURL stringByAppendingString:request.restMethod];
}
} else {
if (forBatch) {
baseURL = request.graphPath;
} else {
NSString *const kVideoGraphBaseURL = @"https://graph-video." FB_BASE_URL @"/";
if (([request.HTTPMethod isEqualToString:@"PUT"] || [request.HTTPMethod isEqualToString:@"POST"]) && [request.graphPath rangeOfString:@"videos"].location != NSNotFound)
{
baseURL = [kVideoGraphBaseURL stringByAppendingString:request.graphPath];
}
else
{
baseURL = [kGraphBaseURL stringByAppendingString:request.graphPath];
}
}
}
NSString *url = [FBRequest serializeURL:baseURL
params:request.parameters
httpMethod:request.HTTPMethod];
return url;
}
iOS SDK中的视频支持似乎非常差。
Video support in the iOS SDK seems very poor.
这篇关于使用iOS SDK将大型视频上传到Facebook的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文