我正在尝试创建一个类似于 iOS 中可用的系统“复制”操作的操作扩展。
我发现不同的答案说不可能有非全屏用户界面,但根据 Apple Official Documentation可能没有 UI(我想就像在复制操作中一样)。
Action (iOS and macOS; UI and non-UI variants)
我尝试创建一个透明 View ,但结果总是全屏黑色覆盖。
我已经在我的 Info.plist
中将 NSExtensionActionWantsFullScreenPresentation
指定为 NO
,但没有任何变化。
知道怎么做吗?
最佳答案
回答我自己的问题:实际上可以通过分配属性来在 iOS 上创建非 UI 操作扩展 NSExtensionPrincipalClass到实现 NSExtensionRequestHandling 的类协议(protocol)。
例子:
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>.
关于ios - 创建没有 UI 的 iOS Action 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54620639/