Avevo bisogno di pubblicare una foto sulla mia bacheca. L'immagine è generata nella mia app per iPad.Come pubblicare una foto. iOS Facebook SDK 3.1
10
A
risposta
24
Questo è il modo più semplice che ho trovato
- (void) postImageToFB:(UIImage*)image
{
NSData* imageData = UIImageJPEGRepresentation(image, 90);
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"This is my drawing!", @"message",
imageData, @"source",
nil];
[FBRequestConnection startWithGraphPath:@"me/photos"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
}];
}
se si desidera un commento sul muro di un amico, cambiare @"me/photos"
da @"[friendID]/photos"
Poi, chiedere i permessi di pubblicare e chiamare il metodo
if ([FBSession.activeSession.permissions indexOfObject:@"publish_stream"] == NSNotFound)
{
// No permissions found in session, ask for it
[FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObject:@"publish_stream"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error)
{
// If permissions granted, publish the story
if (!error) [self postImageToFB:currentDrawing];
}];
}
// If permissions present, publish the story
else [self postImageToFB:currentDrawing];
Un "[nome app] Foto" verrà creato l'album, se non esiste
Funziona per me!
-1
Per iOS da 4.3 e l'aspetto dell'interfaccia utente come iOS 6.0, Penso che si desidera qualcosa di simile: IOS sharing framework for twitter, facebook, flicr, tumblr
senza bisogno di NSData, basta salvarlo come UIImage e modificare la chiave immagine come "immagine", grafico API gestirà il resto :-) –
La tua compressione su UIImageJPEGRappresentazione dovrebbe essere tra 0-1.0 .. quindi invece di 90 vuoi dire .9 – badweasel