2013-03-22 20 views
5

Dodałem UIActivityController w moim projekcie. Wygląda na to, że na ten temat jest znacznie mniej dostępnych pomocy. Problem, z którym się borykam, polega na tym, że linki są udostępniane na Facebooku w dziwny sposób, a nie w sposób, w jaki są one zwykle udostępniane na Facebooku. Aby mieć więcej sensu, zdjęcia wraz z linkami przechodzą do folderu Zdjęcia na iOS bez żadnej możliwości ich zmiany.UIActivityController Publikowanie na Facebooku

Poniżej znajduje się przykład obraz jaki sposób są one obecnie coraz dzielone na Facebooku:

enter image description here

Jak oni są zwykle dzielone na Facebooku i co chcę:

enter image description here

Oto kod, którego używam do dodawania UIActivityController w moim projekcie:

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; 
    } 
}]; 

Poza tym, jestem również odbieranie pewne ostrzeżenia w konsoli, które są następujące:

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: Próbowałem również zintegrowanie REActivityController, biblioteka wdrożyć to samo, ale z możliwością funkcje, ale mam do czynienia z tym samym problemem.

Odpowiedz

2

Aby udostępnić łącze, unikaj przekazywania obrazu. Więc użyj linku kodu to:

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

albo to:

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

Kluczową rzeczą do zapamiętania jest to, jeśli podasz obraz to jest to traktowane jako opowieść zakładowego zdjęcia i kończy się tytuł i adres URL jest podobny do podpisów pod zdjęciami. Jeśli pominiesz obrazek, zostanie on potraktowany jako udział linków, a tytuł stanie się wiadomością.

Ewentualna historia jest poprawnie renderowana na Facebooku, jeśli link ma tagi Open Graph, a renderowanie poprawnie oznacza, że ​​zobaczysz obrazek, podpis, opis itd. Jeśli w linku nie ma tagów Open Graph link jest po prostu wyświetlany w wynikowej historii.

+1

Dzięki, działa dobrze, ale muszę pokazać wideo kciuk na kontroler widoku aktywności jako załącznik w momencie udostępniania. Jak mogę to zrobić? –

Powiązane problemy