【问题标题】:iOS 8 - Disable iCloud Photo Sharing ActivityiOS 8 - 禁用 iCloud 照片共享活动
【发布时间】: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"。但是,当添加到排除列表时,这没有任何作用。
  • 在这里轻松搞定 ...stackoverflow.com/a/37217699/294884

标签: ios ios8 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 左右。

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多