UIActivityViewController не делится с Wechat

Я пытаюсь поделиться изображением, URL-адресом и текстом с WeChat, но я получаю это сообщение. Я просто использую UIActivityViewController для обмена контентом с wechat. Но не в силах поделиться.

введите здесь описание изображения

вот мой код:

 UIImage * shareImage = [UIImage imageNamed:@"igo-logo-small"];
UINavigationController * nav = fromVC.navigationController;

// error handling
NSString * error = nil;
for (;;) {

    // sanity
    if (text == nil || url == nil || shareImage == nil || nav == nil) {

        error = @"arguments not all valid";
        break;
    }

    // setup share controller
    UIActivity *activity = [[UIActivity alloc] init];
    NSArray *applicationActivities = [[NSArray alloc] initWithObjects:activity, nil];
    FilteredActivityViewController * activityController = [[FilteredActivityViewController alloc] initWithActivityItems:@[text, shareImage, url] applicationActivities: applicationActivities];

    if (activityController == nil) {

        error = @"share controller nil";
        break;
    }

    // success - made it to end
    [nav presentViewController:activityController animated:YES completion:nil];
    activityController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
        NSLog(@"completionWithItemsHandler, activityType: %@, completed: %d, returnedItems: %@, activityError: %@", activityType, completed, returnedItems, activityError);
        if ([activityType isEqualToString:@"com.apple.UIKit.activity.CopyToPasteboard"] && completed) {
            [MBProgressHUD showSuccessWithoutImage:@"Copied" toView:nav.view];
        }
    };

person PAn Kaj Khatri    schedule 09.02.2017    source источник
comment
Вы решили это? Мое приложение показывает то же самое, и оно работает.   -  person Pierre    schedule 28.07.2017


Ответы (2)


Я получил точно такое же диалоговое окно с ошибкой и решил его следующим образом.
Передача только текста всегда приводила к этой ошибке. Однако, если бы я объединил его либо с URL-адресом, либо с изображением, WeChat работал бы как обычно.

Я уверен, что когда-то это работало, и было бы здорово, если бы WeChat просто принимал только текст — просто как и все другие приложения (WhatsApp, Line,...)

person Pierre    schedule 16.08.2017

Для ошибки «невозможно поделиться этим типом контента» в WeChat важной переменной для проверки является URL-адрес. Следующий код работает для меня

 UIActivityViewController *activityView = [[UIActivityViewController alloc]   initWithActivityItems:@[@"SampleMessage", [UIImage imageNamed:@"sampleImage"], [NSURL URLWithString:@"http://www.google.com"]] applicationActivities:nil];

В вашем коде у меня есть сомнения по поводу вашей переменной URL. Можете ли вы проверить, является ли это правильным URL-адресом, поскольку я не вижу, как вы инициализировали его в своем коде. Попробуйте приведенный выше код и посмотрите, работает ли он у вас, или опубликуйте весь код совместного использования, чтобы мы могли помочь вам решить проблему.

person Abu Saad Papa    schedule 07.03.2017
comment
Это кажется немного странным. Почему должно быть изображение или URL-адрес для обмена? Может ли кто-то более знакомый с WeChat пролить свет? - person antimatter; 16.08.2017
comment
К сожалению, WeChat не принимает только текст, когда мы используем его с UIActivityViewController, поэтому нам нужно добавить изображение/URL, чтобы он работал. - person Abu Saad Papa; 22.08.2017
comment
Есть ли способ добавить фиктивный URL-адрес, но затем отобразить полный текст. Похоже, что текст также довольно ограничен. Как вывести полный текст? - person Hanz Cheah; 02.08.2018