ios - 创建没有 UI 的 iOS 操作扩展
问题描述
我正在尝试创建一个类似于 iOS 中可用的系统“复制”操作的操作扩展。
我找到了不同的答案,说不可能有非全屏 UI,但根据Apple 官方文档,可能没有 UI(我想就像在复制操作中一样)。
操作(iOS 和 macOS;UI 和非 UI 变体)
我尝试过创建透明视图,但结果始终是全屏黑色覆盖。
我已经在我的 中指定NSExtensionActionWantsFullScreenPresentation
了,但没有任何变化。NO
Info.plist
关于如何做的任何想法?
解决方案
回答我自己的问题:实际上可以通过将属性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
}
}
像这样创建扩展的最简单方法是添加一个新目标(File > New > Target),选择 Action Extension,然后在Action Type中选择No User Interface。
推荐阅读
- python - 如何从数据库中转义表名中的 #/#(例如 6/8)
- jasper-reports - 为什么只显示我的第一个子报表?
- c++ - 为参数包中的每种类型推导模板参数类型
- r - 如何使用包含“<”-operator 的条目执行计算?在这种情况下,将上限除以二
- angular - 添加图像
- fullcalendar - 加载时不显示完整日历的正文
- javascript - if 语句中的 Snackbar 错误消息
- api - Google SDK 中的项目错误
- mysql - 如何将 Spark SQL 与 My SQL 数据库 Scala 连接起来
- javascript - 在选项卡上更改更新本机反应中的状态