2016-10-18 3 views
0

У меня возникли проблемы с созданием диалогового окна совместного использования. Моя цель - использовать ссылку на мой продукт с помощью встроенного контроллера, но я не могу этого сделать. Я пытаюсь проверить код:Показать все опции в UIActivityViewController

NSURL *google = [NSURL URLWithString:@"http://google.com"]; 
NSArray *activityItems = @[google]; 
UIActivity *activity = [UIActivity new]; 
UIActivityViewController *activityViewControntroller = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:@[activity]]; 
activityViewControntroller.excludedActivityTypes = @[]; 
[self presentViewController:activityViewControntroller animated:true completion:nil]; 

И у меня нет значков FB и твиттера. С другой стороны, я могу видеть это в сафари как значки, и когда я касаюсь этого, я вижу: «Вам нужно настроить свою учетную запись перед отправкой». Итак, я хочу такого же поведения: значки для всех самых популярных социальных сетей, таких как VK, FB, twitter; посланников вроде Whatsapp, Вибер и телеграмм. Если некоторые из них не установлены, я хочу, чтобы диалоговое окно «Вы должны войти в систему до» и перенаправлять на сафари (например, для FB) для входа в систему или открытия appstore (например, для телеграммы или viber) для установки; в противном случае я хочу отправить сообщение с моей ссылкой. Я вижу это так: исключите все типы из активности vc, а затем принудительно добавьте все значки, которые мне нужны, и проверьте каждый из них при щелчке вручную. Но в яблочных документах я читал, что «вы должны использовать собственное поведение для собственных элементов вместо создания пользовательских». Итак, будет ли это правильно? Или есть другие способы решить эту проблему?

+0

Facebook и Twitter придут только в том случае, если они уже установлены на устройстве. – Nilesh

+0

Но в сафари я вижу это, несмотря на то, что они установлены они или нет –

ответ

0

Попробуйте

-(void)clickShare:(UIButton *)sender{ 
    NSArray * activityItems = @[[NSString stringWithFormat:@"Some initial text."], [NSURL URLWithString:@"http://www.google.com"]]; 
    NSArray * applicationActivities = nil; 
    NSArray * excludeActivities = @[]; 

    UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities]; 
    activityController.excludedActivityTypes = excludeActivities; 

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

этот код работает в моем проекте.

+0

В чем отличие моего кода? Основная цель - показать ВСЕ значки с описанным поведением –

Смежные вопросы