使用自定义布局创建共享扩展

20
我想开发具有自定义弹出框的iOS共享扩展。在苹果文档中,要提供自定义的撰写视图而不是标准的视图,请取消Xcode目标添加面板中的“使用标准社交撰写界面”复选框。当取消选中此复选框时,默认的SharingViewController类基于NSViewController或UIViewController,具体取决于您选择的平台。但我找不到复选框。有人能告诉我如何禁用它吗?还有没有好的共享扩展教程呢?谢谢。
2个回答

35

看起来这个选项被删除了(或从未发布到公共版本)。

无论如何,从描述中看来,似乎您只需要创建一个共享扩展,并将 ShareViewController 的超类从 SLComposeServiceViewController 更改为 UIViewController,并在类定义中删除 isContentValid, didSelectPostconfigurationItems 占位符方法。

然后,您可以在 MainInterface.storyboard 中按照您的喜好设置视图。


10
extensionContext 也可以在自定义的 UIViewController 中使用,因为它属于 UIViewController 类。起初我困惑如何访问它。 - Genki
3
谢谢Rob。我已经尽可能地查阅文档,以找到有关此问题的明确答案。真的希望苹果公司提供像presentComposeView:animated:这样的方法。但是,即使查看方法调用的堆栈跟踪并查看SLComposeServiceViewController头文件,也没有给出这种印象。很烦人,甚至不能使用默认实现,只需通过类似于self.composeView = [YourCustomView alloc] init];的方式不显示默认视图。 - Louis Tur
有没有人能帮我了解一下,我们是否可以使用共享扩展容器应用程序视图控制器来显示自定义布局? - Anita Nagori
如何在此控制器中获取共享资源(从中启动此活动控制器的资源) - Mehul Thakkar
说句实话,截至本评论发布时,苹果文档尚未更新此内容。https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Share.html - Russ J
该文档位于“文档存档”库中,苹果公司的官方声明是:“该库不再更新。”。 - rob mayoff

2
此前的回答有待更新。我们不应该改变 ShareViewController 的超类,而是应该通过 configurationItems 配置表格单元格以添加配置选项。
这个教程展示了如何正确地进行操作。

4
OP希望在ShareViewController上使用完全自定义的视图,而不是向默认视图添加选项。 - Shebuka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接