Я хочу создать UIActivityViewController
, который исключит некоторые из встроенных функций общего доступа, включая Facebook и Twitter Share. Но доля Facebook по-прежнему доступна как ShareExtention
.
Я создаю следующее:
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
и исключить Facebook, установив исключенные типы активности.
activityViewController.excludedActivityTypes = @[
UIActivityTypeAddToReadingList,
UIActivityTypeAssignToContact,
UIActivityTypePrint,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAirDrop,
UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter
];
При запуске на моем iPhone появляется значок Facebook, несмотря на то, что он исключен.
Исследование того, как это происходит. Я вижу, что обработчик завершения для контроллера активности возвращает activityType = com.facebook.Facebook.ShareExtension
, а не UIActivityTypePostToFacebook
. Также при выборе более кнопки в контроллере активности есть переключатель для Facebook, как и для других приложений, которые используют соглашение о совместном использовании.
Почему Facebook использует ShareExtention
, когда Twitter нет, и почему я не могу исключить его с помощью исключенных действий?
Примечание. Я тестировал это на нескольких устройствах, но проблема существует только на одном устройстве, которое работает под управлением 8.1.3.
Спасибо