Изпращане на изображение + url в UIActivityViewController във Facebook Messenger

с помощта на прост UIActivityViewController

-(void)share{

    NSString *textToShare = _mytext;
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
    UIImage *imageToShare = _myimage;
    NSArray *activityItems = @[textToShare, url,  imageToShare];
    UIActivityViewController *activityVC =
    [[UIActivityViewController alloc] initWithActivityItems:activityItems
                                      applicationActivities:nil];

    [self presentViewController:activityVC animated:YES completion:nil];
}

Искам да споделя текст, URL адрес и изображение, където е подходящо.

Така че, ако потребителят избере поща, всичко се появява. И т.н. с останалите приложения (pinterest, facebook, twitter)

Във Facebook Messenger - Ако URL адрес и изображение се споделят, екранът за споделяне се срива. Това известен проблем ли е (не може да изпрати изображение с url)?


person Nick Ginanto    schedule 18.05.2015    source източник
comment
Може да е грешка. Можете ли да докладвате тук? Моля, включете вашата версия на Messenger и проследяване на стека.   -  person amudi    schedule 25.05.2015
comment
developers.facebook.com/bugs/949486035103197/?search_id изглежда, че е широко разпространен от преди поне 2 версии...   -  person Nick Ginanto    schedule 25.05.2015
comment
Променете своя NSURL на NSString и трябва да работи добре.   -  person rmp    schedule 28.05.2015
comment
@rmp тогава няма да споделя url, а обикновен nsstring...   -  person Nick Ginanto    schedule 28.05.2015
comment
Това е правилно, но FB обикновено ще го преведе във връзка, когато бъде публикувано. Най-добре е да използвате NSURL, но може да е нестабилно. Също така открих, че създаването на масив от дейности като този изглежда работи по-добре, не знам защо, но е така. [NSArray arrayWithObjects:textToShare,url,nil];   -  person rmp    schedule 28.05.2015
comment
Споделям текст и изображение във FB-messenger с UiActivitycController, но той отваря само изображение и текстовата част е празна, опитах се да споделя само текст и след това UIActivityControl не показва опцията за споделяне на FB-messenger. Изглежда като нещо, свързано със същата грешка в месинджъра.   -  person Abhishek    schedule 29.05.2015


Отговори (1)


* РЕДАКТИРАНЕ: Актуализиран до най-новия SDK

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentTitle = @"Your title";
content.contentDescription = @"Some description text maybe...";
content.contentURL = [NSURL URLWithString:@"http://yourlink.com"];
content.imageURL = [NSURL URLWithString:@"http://yourlink.com/theImage.png"];

[FBSDKMessageDialog showWithContent:content delegate:self];


// Delegate
- (void)sharer: (id<FBSDKSharing>)sharer didCompleteWithResults: (NSDictionary *)results 
{
    BOOL complete = [[results valueForKeyPath:@"didComplete"] boolValue];
    NSString *completionGesture = [results valueForKeyPath:@"completionGesture"];
    if (completionGesture && [completionGesture isEqualToString:@"cancel"]) {
        // action was canceled by the user
    }

    if (complete) {
        // the message/link/image was sent
    }
}

- (void) sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error
{
    // handle error...
}

Можете да опитате :)

person Виктор Иванов    schedule 27.05.2015
comment
това е facebook, не messenger и не в uiactivitycontroller - person Nick Ginanto; 27.05.2015
comment
Това не е UIActivityViewController. - person abhimuralidharan; 02.07.2016