2014-09-11 4 views
8

Apparentemente iOS8 aggiunge per impostazione predefinita un'attività "iCloud Photo Sharing" alle visualizzazioni attività in iOS8 e non ho trovato alcuna documentazione utile a riguardo, specialmente come rimuoverlo esplicitamente (andando nella L'opzione "Altro" consente all'utente di attivare/disattivare la visualizzazione, ma per la nostra app vogliamo disabilitare completamente questa opzione).iOS 8 - Disattiva l'attività di condivisione foto iCloud

Qualcuno ha capito qualcosa su come disattivare questo? Qualsiasi input sarebbe apprezzato. Grazie!

Activity VC with unwanted "iCloud Photo Sharing" option

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

+0

FYI - Vorrei rimuovere anche "Condivisione foto iCloud". Ho provato ad aggiungere i seguenti valori stringa, ma nessuno di loro ha funzionato. "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

Il 'activityType' è' @ "com.apple.mobileslideshow.StreamShareService" '. Tuttavia questo non fa nulla quando viene aggiunto all'elenco degli esclusi. – OrangeDog

+0

** Facilmente fatto qui ** ... http://stackoverflow.com/a/37217699/294884 – Fattie

risposta

2

Normalmente quando si imposta la proprietà excludedActivityTypes sul UIActivityViewController esempio - per esempio, per escludere la pubblicazione su Facebook, ci si mette UIActivityTypePostToFacebook in tale matrice.

Ma non sembra che l'elenco Built-in Activity Types (nella documentazione o in UIActiviy.h) includa una costante per le foto di iCloud. Questo probabilmente vale la pena di filing a bug.

+0

fatto facilmente ... http://stackoverflow.com/a/37217699/294884 – Fattie

6

Se si avvia UIActivityViewController pieno di immagini, la condivisione iCloud è impostata su tipi di attività per impostazione predefinita. È possibile aggiungere una stringa nella matrice activityItems. Questa mossa farà sì che la condivisione di iCloud venga rimossa da activityTypes.

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

Soluzione leggermente hacky, ma lavori. Questo è specialmente se usi un 'UIActivityItemSource' e vuoi che vengano mostrate le attività del tipo di immagine –

+1

Quindi devi escludere' UIActivityTypeCopyToPasteboard', poiché questo copierà solo la stringa vuota. – OrangeDog

+0

È possibile mantenere la funzionalità di pasteboard se si sostituisce l'elemento di attività della stringa vuota con un UIActivityItemProvider personalizzato che restituisce un elemento nullo e ha una stringa vuota come elemento segnaposto. –