如何使用Facebook iOS SDK取消正在进行的视频上传?

时间:2011-11-10 13:55:37

标签: facebook facebook-graph-api nsurlconnection

我正在使用Facebook iOS SDK将我的应用中的视频发布到用户的脸书。

我正在尝试允许用户在上传开始后取消上传。

这些是开始上传的方法:

- (void)startUpload
{   
    NSArray* permissions = [[NSArray alloc] initWithObjects:
                            @"publish_stream", nil];
    [facebook authorize:permissions];
    [permissions release];
}

- (void)fbDidLogin
{
    NSString *filePath = [videoNSURL path];

    NSData *videoData = [NSData dataWithContentsOfFile:filePath];
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   videoData, @"video.mov",
                                   @"video/quicktime", @"contentType",
                                   videoTitle, @"title",
                                   videoDescription, @"description",
                                   nil];
    [facebook requestWithGraphPath:@"me/videos"
                         andParams:params
                     andHttpMethod:@"POST"
                       andDelegate:self];
}

我找不到允许我取消上传的Facebook iOS SDK附带的Facebook.h内的任何方法。

即使我执行[facebook release],它仍然不会取消尝试上传视频的FBSession。这意味着当FBSession尝试通知exc_bad_access对象上传完成时,上传完成时我将获得facebook

1 个答案:

答案 0 :(得分:3)

我添加了以下方法:

<强> FBRequest

(void) cancel {
   [_connection cancel];
   [_connection release], _connection = nil;
}

<强>实

(void)cancelPendingRequest {
  [_request cancel];
  [_request release], _request = nil;
}

cancelPendingRequest将允许我取消正在进行的视频上传。