iOS 8 - 禁用 iCloud 照片共享活动

Posted

技术标签:

【中文标题】iOS 8 - 禁用 iCloud 照片共享活动【英文标题】:iOS 8 - Disable iCloud Photo Sharing Activity 【发布时间】:2014-09-11 20:12:56 【问题描述】:

显然,ios8 默认情况下会在 iOS8 的活动视图中添加“iCloud 照片共享”活动,我还没有找到任何有用的文档,尤其是如何显式删除它(进入“更多”选项允许用户切换显示/隐藏它,但对于我们的应用程序,我们希望完全禁止此选项)。

有没有人知道如何禁用它?任何输入将不胜感激。谢谢!

【问题讨论】:

仅供参考 - 我也想删除“iCloud 照片共享”。我尝试添加以下字符串值,但没有一个起作用。 “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"。 activityType@"com.apple.mobileslideshow.StreamShareService"。但是,当添加到排除列表时,这没有任何作用。 在这里轻松搞定 ...***.com/a/37217699/294884 How to exclude Notes and Reminders apps from the UIActivityViewController?的可能重复 【参考方案1】:

如果您使用完整的图像初始化 UIActivityViewController,则 iCloud 共享默认设置为活动类型。您可以在 activityItems 数组中添加一个字符串。此举将导致 iCloud 共享从 activityTypes 中移除。

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

【讨论】:

温和的 hacky 解决方案,但它有效。特别是如果您使用 UIActivityItemSource 并希望显示图像类型的活动 然后必须排除UIActivityTypeCopyToPasteboard,因为这只会复制空字符串。 如果您将空字符串活动项替换为自定义 UIActivityItemProvider,它返回一个 nil 项并有一个空字符串作为其占位符项,则可以保留粘贴板功能。【参考方案2】:

通常您会在您的 UIActivityViewController 实例上设置 excludedActivityTypes 属性 - 例如,要排除在 Facebook 上发帖,您会将 UIActivityTypePostToFacebook 放入该数组中。

但它看起来不像 Built-in Activity Types 列表(在文档中或在 UIActiviy.h 中)包含 iCloud 照片的常量。这可能值得filing a bug 左右。

【讨论】:

以上是关于iOS 8 - 禁用 iCloud 照片共享活动的主要内容,如果未能解决你的问题,请参考以下文章

iOS 的 8 iCloud Drive 是不是允许不同的用户共享文件?

如何禁用标签栏项目以及如何更改禁用项目的颜色和透明度

iOS - 防止使用相机拍摄的照片进入 iCloud

iOS学习笔记32-iCloud入门

如何在 iOS 7 App 中禁用 iCloud

iOS 应用在设备设置页面禁用 iCloud 驱动器(关闭)并获取 iCloud persistentStore