videos tamaño subir promocionar problemas perder para formato copyright completo como calidad facebook video ios6 social-framework

tamaño - subir Video a Facebook usando el Marco Social iOS6



subir videos a instagram sin copyright (2)

Quiero publicar un archivo de video en Facebook. Anteriormente usé Facebook iOS SDK3.0 y funciona. Sin embargo, para iOS6 Social Framework, hay un problema.

__block ACAccount * facebookAccount; ACAccountStore* accountStore = [[ACAccountStore alloc] init]; NSDictionary *options = @{ ACFacebookAppIdKey: @"MY APP ID", ACFacebookPermissionsKey: @[@"publish_actions", ], @"ACFacebookAudienceKey": ACFacebookAudienceFriends }; ACAccountType *facebookAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; [accountStore requestAccessToAccountsWithType:facebookAccountType options:options completion:^(BOOL granted, NSError *error) { if (granted) { NSArray *accounts = [accountStore accountsWithAccountType:facebookAccountType]; facebookAccount = [accounts lastObject]; NSLog(@"access to facebook account ok %@", facebookAccount.username); NSData *videoData = [NSData dataWithContentsOfFile:[self videoFileFullPath]]; NSLog(@"video size = %d", [videoData length]); NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: videoData, @"video.mov", @"video/quicktime", @"contentType" , @"Video title", @"title", @"Video description", @"description",nil]; NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/me/videos"]; SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:requestURL parameters:params]; request.account = facebookAccount; [request performRequestWithHandler:^(NSData *data, NSHTTPURLResponse *response,NSError * error){ NSLog(@"response = %@", response); NSLog(@"error = %@", [error localizedDescription]); }]; } else { NSLog(@"access to facebook is not granted"); // extra handling here if necesary } }];

Aplicación de finalización debido a una excepción no detectada ''NSInvalidArgumentException'', razón: ''- [NSConcreteData _fastCharacterContents]: selector no reconocido enviado a la instancia 0x2097ead0''


Estoy trabajando en el mismo problema. Creo que su error es de ARC y NSData *videoData se elimina antes de la devolución de performRequestWithHandler .


Aquí está mi investigación: Primero, los datos de video no pueden ser parte de la lista de parámetros, ya que hará que SLRequest sea inválida y esa es la falla que está experimentando.

Los datos de video deben ir en la sección de partes múltiples de la solicitud.

Ahora, existe la necesidad de asociar los parámetros con los datos multiparte y esa es la parte difícil. Por lo tanto, es necesario usar el atributo de origen para hacer ese enlace.

La fuente requiere una URL en un formato de cadena, lo establece en los parámetros y establece el mismo valor en el campo de nombre de archivo en la solicitud de varias partes.

Deberias hacer eso.

NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/videos"]; NSURL *videoPathURL = [[NSURL alloc]initFileURLWithPath:videoPath isDirectory:NO]; NSData *videoData = [NSData dataWithContentsOfFile:videoPath]; NSString *status = @"One step closer."; NSDictionary *params = @{@"title":status, @"description":status}; SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:url parameters:params]; [request addMultipartData:videoData withName:@"source" type:@"video/quicktime" filename:[videoPathURL absoluteString]];