gpt4 book ai didi

ios - 从 UIActivityViewController 中排除 UIActivities

转载 作者:行者123 更新时间:2023-11-28 11:11:22 24 4
gpt4 key购买 nike

我正在使用 UIActivityViewController 共享一个 .CSV 文件,如果用户拥有我的应用程序,该文件可以由我的应用程序打开。我只想让我的用户使用网络、邮件或空投进行共享。

这或多或少是我的代码

 //Initialize activityVC. Activity item is [self] because I'm adopting UIActivityItemSource Protocol.
let activityVC = UIActivityViewController(activityItems: [self], applicationActivities: nil)

//Here I'm trying to exclude everything but web, mail, and airdrop.
activityVC.excludedActivityTypes = [UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypeAssignToContact, UIActivityTypePostToFacebook, UIActivityTypePostToFlickr, UIActivityTypePostToTencentWeibo, UIActivityTypePostToTwitter, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll]
if #available(iOS 9.0, *) {
activityVC.excludedActivityTypes?.append(UIActivityTypeOpenInIBooks)
} else {
// Fallback on earlier versions
}

//Present VC
self.presentViewController(activityVC, animated: true, completion: nil)

所以我的问题是,即使我试图通过代码排除所有可用的东西,当我不希望我的用户共享 .CSV 时,我仍然会收到随机应用程序,如 slack 和 notes 出现 这样。有什么想法吗?

最佳答案

您不能从 UIActivityViewController 中排除应用程序,因为这些应用程序被声明可以打开和处理 .csv 文件类型(通过 Info.plist 中的 Document types ).
如果您不想显示这些应用程序,您可以直接将文件共享到目的地。例如,对于电子邮件,您可以使用 MFMailComposeViewController

关于ios - 从 UIActivityViewController 中排除 UIActivities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34858978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com