2013-03-22 17 views
5

Ho aggiunto UIActivityController nel mio progetto. Sembra che ci sia molto meno aiuto disponibile su questo particolare argomento. Il problema che sto affrontando è che i collegamenti vengono condivisi su Facebook in un modo strano e non nel modo in cui sono condivisi di solito su Facebook. Per avere più senso, le foto insieme ai link stanno andando nella cartella Foto di iOS senza alcuna opzione per cambiarlo.UIActivityController Pubblicazione su Facebook

Di seguito si riporta l'immagine di esempio come sono attualmente sempre condivisi su Facebook:

enter image description here

Come sono normalmente condivisi su Facebook e quello che voglio:

enter image description here

Ecco il codice che sto usando per aggiungere UIActivityController nel mio progetto:

UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:titleString, [NSURL URLWithString:urlString], imageTaker, nil] applicationActivities:nil]; 


[self presentViewController:objVC animated:YES completion:nil]; 
[objVC setCompletionHandler:^(NSString *activityType, BOOL completed) 
{ 
    NSLog(@"Activity = %@",activityType); 
    NSLog(@"Completed Status = %d",completed); 

    if (completed) 
    { 
     UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Posting was success" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [objalert show]; 
     objalert = nil; 
    }else 
    { 
     UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Posting was not successful" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [objalert show]; 
     objalert = nil; 
    } 
}]; 

Oltre a questo, sto anche ricevendo alcuni avvisi nella console, che sono i seguenti:

Registering unknown app identifier com.apple.mobilemail failed 
Unable to find app identifier com.apple.mobilemail 
Registering unknown app identifier com.apple.MobileSMS failed 
Unable to find app identifier com.apple.MobileSMS 

UPDATE: Ho anche provato l'integrazione REActivityController, una libreria per implementare la stessa cosa, ma con in più caratteristiche, ma sto affrontando lo stesso problema con esso.

risposta

2

Per condividere un collegamento evitare di passare nell'immagine. Così utilizzare Link Codice questo:

UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:[NSURL URLWithString:urlString], nil] applicationActivities:nil]; 

O questo:

UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:titleString, [NSURL URLWithString:urlString], nil] applicationActivities:nil]; 

La cosa fondamentale da ricordare è, se si specifica un'immagine, allora è considerato come una storia foto condivisione e il titolo e url finiscono essere simile alle didascalie delle foto. Se si omette l'immagine, viene considerata una condivisione di collegamento e il titolo diventa il messaggio.

La storia finale viene visualizzata correttamente su Facebook se il collegamento contiene tag Open Graph e, visualizzando correttamente, si vedrà un'immagine, didascalia, descrizione, ecc. Se nel collegamento non sono incorporati tag Open Graph, il collegamento viene semplicemente visualizzato nella storia risultante.

+1

Grazie, Funziona bene, ma ho bisogno di mostrare il pollice del video sul controller vista attività come allegato al momento della condivisione. Come lo posso fare? –

Problemi correlati