как отображать только facebook, twitter и электронную почту в контроллере просмотра UIactivity в ios (задача c)?

У меня есть приложение, которое мне нужно для отображения только facebook, twitter и электронной почты в контроллере ActivityView?

все нужно исключить.

Как я могу это сделать?

любая помощь будет оценена.


person Maulik shah    schedule 06.02.2017    source источник
comment
Вы можете исключить множество действий, предоставляемых системой, установив соответствующий excludedActivityTypes.   -  person iPeter    schedule 06.02.2017
comment
Обратитесь к этому: stackoverflow.com/questions/31792506/   -  person Bista    schedule 06.02.2017
comment
Не может. Однако вы можете настроить свой собственный вид.   -  person GeneCode    schedule 06.02.2017


Ответы (1)


Чтобы исключить все:

NSArray *exclude = @[UIActivityTypePostToFacebook,
                     UIActivityTypePostToTwitter,
                     UIActivityTypePostToWeibo,
                     UIActivityTypeMessage,
                     UIActivityTypeMail,
                     UIActivityTypePrint,
                     UIActivityTypeCopyToPasteboard,
                     UIActivityTypeAssignToContact,
                     UIActivityTypeSaveToCameraRoll,
                     UIActivityTypeAddToReadingList,
                     UIActivityTypePostToFlickr,
                     UIActivityTypePostToVimeo,
                     UIActivityTypePostToTencentWeibo,
                     UIActivityTypeAirDrop,
                     UIActivityTypeOpenInIBooks];

activityViewController.excludedActivityTypes = exclude;

Удалите Facebook, Twitter и Mail из списка, чтобы отобразить их в листе действий.

person norders    schedule 06.02.2017
comment
нужно показывать только facebook, twitter и электронную почту... другие третьи стороны не хотят отображать - person Maulik shah; 06.02.2017
comment
Просто исключите элементы, которые вы хотите отобразить в списке, из этого массива. @Маулик - person iPeter; 06.02.2017
comment
Я думаю, что вижу вашу проблему - только интегрированные службы iOS можно «исключить» с помощью excludedActivityTypes. Поэтому другие приложения (WhatsApp, LinkedIn, Instagram) не будут исключены. Массив, по-видимому, представляет собой список идентификаторов пакетов расширения общего доступа (например, сообщения имеют идентификатор com.apple.UIKit.activity.Message). Если вам известны идентификаторы других приложений, которые вы хотите исключить, вы можете добавить их в список. Я не пробовал это, поэтому не уверен, что это сработает. - person norders; 06.02.2017
comment
Только что попытались исключить «com.linkedin.LinkedIn.ShareExtension» (это тип активности, который возвращается, когда вы делитесь с LinkedIn) и можете подтвердить, что это НЕ работает. Я думаю, вам придется накатить свой собственный и интегрировать с FB, Twitter и почтовыми SDK. - person norders; 06.02.2017