UIActivityViewController:"Add Tags" 动作
UIActivityViewController: "Add Tags" Action
背景
我的应用程序支持使用以下代码导出 CSV 文件(其中 CSVFileActivityItemProvider
是一个 UIActivityItemProvider
子类,它向存储在 FileManager.default.temporaryDirectory
中的 CSV 文件提供 URL) :
func exportCSVFile() {
let item = CSVFileActivityItemProvider()
let controller = UIActivityViewController(activityItems: [item], applicationActivities: nil)
present(controller, animated: true)
}
除了“添加标签”操作(如果安装了 Apple 的“文件”应用程序可以添加?),该代码运行完美。点击时,“添加标签”控制器会出现,然后立即消失。
问题
- 如何处理
UIActivityViewController
中的“添加标签”操作?
- 当您将文档导出到 TSV 时,我可以排除“添加标签”操作(正如 Apple 在 iOS 上的 Numbers v11.1 中所做的那样)吗?
如何处理 UIActivityViewController
中的“添加标签”操作?
You don't handle it. It's system defined.
我可以排除“添加标签”操作吗(正如 Apple 在 iOS 上的 Numbers v11.1 中所做的那样,当您将文档导出到 TSV 时)?
Looking at these two -
UIActivityViewController.excludedActivityTypes
&
Pseudocode : It could be as simple as (if you use private APIs).
activityViewController.excludedActivities = [.addTags]
Unfortunately there's no public API for this. So currently there seems to be no way of excluding this with public API.
It's an Objective-C class and you could try inspecting it's instance variables at run time (after presenting & loading) and then try experimenting fixing your issue, however that
- will most likely get you an App Store rejection.
- will require constant maintenance with each new iOS version.
事实证明,简单地使用 TSV 文件而不是 CSV 文件将自动排除“添加标签”操作(这解释了我在 Numbers 中看到的内容)。这对我来说是一个可行的解决方法。在不需要 TSV 文件的情况下,至少可以通过使用 UIActivityViewController.CompletionWithItemsHandler
.
来检测“添加标签”activity
背景
我的应用程序支持使用以下代码导出 CSV 文件(其中 CSVFileActivityItemProvider
是一个 UIActivityItemProvider
子类,它向存储在 FileManager.default.temporaryDirectory
中的 CSV 文件提供 URL) :
func exportCSVFile() {
let item = CSVFileActivityItemProvider()
let controller = UIActivityViewController(activityItems: [item], applicationActivities: nil)
present(controller, animated: true)
}
除了“添加标签”操作(如果安装了 Apple 的“文件”应用程序可以添加?),该代码运行完美。点击时,“添加标签”控制器会出现,然后立即消失。
问题
- 如何处理
UIActivityViewController
中的“添加标签”操作? - 当您将文档导出到 TSV 时,我可以排除“添加标签”操作(正如 Apple 在 iOS 上的 Numbers v11.1 中所做的那样)吗?
如何处理 UIActivityViewController
中的“添加标签”操作?
You don't handle it. It's system defined.
我可以排除“添加标签”操作吗(正如 Apple 在 iOS 上的 Numbers v11.1 中所做的那样,当您将文档导出到 TSV 时)?
Looking at these two -
UIActivityViewController.excludedActivityTypes
&
Pseudocode : It could be as simple as (if you use private APIs).
activityViewController.excludedActivities = [.addTags]
Unfortunately there's no public API for this. So currently there seems to be no way of excluding this with public API.
It's an Objective-C class and you could try inspecting it's instance variables at run time (after presenting & loading) and then try experimenting fixing your issue, however that
- will most likely get you an App Store rejection.
- will require constant maintenance with each new iOS version.
事实证明,简单地使用 TSV 文件而不是 CSV 文件将自动排除“添加标签”操作(这解释了我在 Numbers 中看到的内容)。这对我来说是一个可行的解决方法。在不需要 TSV 文件的情况下,至少可以通过使用 UIActivityViewController.CompletionWithItemsHandler
.