我正在尝试创建类似于iOS中可用的系统“复制”操作的操作扩展。
我找到了不同的答案,说不可能有非全屏UI,但是根据Apple Official Documentation,可能没有UI(我想像是在“复制”操作中一样)。
操作(iOS和macOS; UI和非UI变体)
我尝试创建透明视图,但结果始终是全屏黑色覆盖。
我已经在NSExtensionActionWantsFullScreenPresentation
中将NO
设置为Info.plist
,但是没有任何变化。
有什么想法吗?
答案 0 :(得分:3)
要回答我自己的问题:实际上可以通过将属性NSExtensionPrincipalClass分配给实现NSExtensionRequestHandling协议的类来在iOS上创建非UI动作扩展。
示例:
class ActionRequestHandler: NSObject, NSExtensionRequestHandling {
var extensionContext: NSExtensionContext?
func beginRequest(with context: NSExtensionContext) {
// Do not call super in an Action extension with no user interface
self.extensionContext = context
// Do stuff with the context
}
}
创建扩展的最简单方法是添加一个新目标(“文件”>“新建”>“目标”),选择“操作扩展”,然后在“ 操作类型”中选择无用户界面 / strong>。
答案 1 :(得分:0)
在iOS中,一个Action扩展程序:
帮助用户以其他方式查看当前文档
始终显示在操作表或全屏模式视图中
仅在主机应用明确提供的情况下接收选定内容