自定义 UIActivity:ios8 中提供的未知活动项

Posted

技术标签:

【中文标题】自定义 UIActivity:ios8 中提供的未知活动项【英文标题】:Custom UIActivity: Unknown activity items supplied in ios8 【发布时间】:2014-10-13 08:12:23 【问题描述】:

我为 Instagram 创建了一个自定义 UIActivity。我的自定义 UIActivity 所需的活动项目之一是 InstagramPhoto 实例。这个对象包含 UIImage、标题和我想发送到 Instagram 应用程序的其他内容。 ios低于8,一切正常。但是当我使用 ios8 进行测试时,我看到了这个错误:

Unknown activity items supplied: (
    "<InstagramPhoto: 0x18848310>"
)

【问题讨论】:

【参考方案1】:

当我将视图控制器对象传递给活动项列表中的 UIActivityViewController 时出现此类错误,但未实现 UIActivityItemSource 协议(它看起来不像文档中的要求)。

    UIActivityViewController *activityViewController =
      [[UIActivityViewController alloc] 
        initWithActivityItems:@[self] 
        applicationActivities:customActivities];

如果你有上面这样的代码,你应该在 InstagramPhoto 中有这样的东西(糟糕的代码,只是为了解释):

    - (id)activityViewController:(UIActivityViewController*) activityViewController itemForActivityType:(NSString *)activityType
    
        return self;
    

    - (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController
    
        return @"";
    

【讨论】:

以上是关于自定义 UIActivity:ios8 中提供的未知活动项的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 UIActivity:禁用特定的第三方共享器?

自定义 UIActivity 的主题

UIActivity 自定义 activityViewController 在 iPad 上崩溃

带有自定义图像的 UIActivity

带有自定义数据的自定义 UIActivity

如何自定义 UIActivityViewController 以仅包含自定义 UIActivity 类型?