2014-09-11 14 views
8

Wygląda na to, że iOS8 domyślnie dodaje funkcję "Udostępnianie zdjęć iCloud" do widoków aktywności w iOS8 i nie znalazłem żadnej przydatnej dokumentacji na jej temat, w szczególności, jak jawnie ją usunąć (przechodząc do Opcja "Więcej" pozwala użytkownikowi na przełączanie pokazywania/ukrywania, ale dla naszej aplikacji chcemy całkowicie wyłączyć tę opcję).iOS 8 - Wyłącz aktywność udostępniania zdjęć w iCloud

Czy ktoś wymyślił coś na temat, jak to wyłączyć? Dowolne wejście będzie docenione. Dzięki!

Activity VC with unwanted "iCloud Photo Sharing" option

"More" option with user-performed manual enable/disable

+0

FYI - Chciałbym również usunąć "Udostępnianie zdjęć iCloud". Próbowałem dodać następujące wartości ciągów, ale żaden z nich nie działał. "com.apple.UIKit.activity.iCloudPhotoSharing", "com.apple.UIKit.activity.PhotoSharing", "com.apple.UIKit.activity.ICloudPhotoSharing", "com.apple.UIKit.activity.iCloud", "com .apple.UIKit.activity.iCloudPhoto "," com.apple.UIKit.activity.iCloudSharing "," iCloudPhotoSharing ". – rmaddy

+0

Typ "activityType" to '@" com.apple.mobileslideshow.StreamShareService "'. Jednak to nic nie robi po dodaniu do listy wykluczeń. – OrangeDog

+0

** Łatwo zrobić tutaj ** ... http://stackoverflow.com/a/37217699/294884 – Fattie

Odpowiedz

2

Normalnie chcesz ustawić właściwość excludedActivityTypes na przykład UIActivityViewController - na przykład, aby wykluczyć opublikowania na Facebooku, którą można umieścić UIActivityTypePostToFacebook w tej tablicy.

Ale nie wygląda na to, że lista Built-in Activity Types (w dokumentacji lub w UIActiviy.h) zawiera stałą dla zdjęć iCloud. Prawdopodobnie warto o tym powiedzieć: filing a bug.

+0

łatwo zrobić ... http://stackoverflow.com/a/37217699/294884 – Fattie

6

Jeśli zainicjujesz swój sterownik UIActivityViewController z pełnymi obrazami, domyślnie zestaw do udostępniania iCloud do typów działań. Możesz dodać ciąg do swojej tablicy activityItems. Ten ruch spowoduje, że udostępnianie iCloud zostanie usunięte z activityTypes.

NSArray *Items = [NSArray arrayWithObjects: image1, image2, @"", nil]; 
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:Items applicationActivities:nil]; 
+0

Łagodnie niełatwe rozwiązanie, ale Prace. Jest to szczególnie ważne, gdy używasz 'UIActivityItemSource' i chcesz, aby akcje typu image wyświetlały się w postaci –

+1

Następnie należy wykluczyć' UIActivityTypeCopyToPasteboard', ponieważ spowoduje to skopiowanie pustego łańcucha. – OrangeDog

+0

Możesz zachować funkcjonalność pasteboard, jeśli zastąpisz pusty element aktywności łańcucha niestandardowym UIActivityItemProvider, który zwraca element zerowy i ma pusty łańcuch jako element zastępczy. –

Powiązane problemy