我正在使用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 。有什么想法吗?
答案 0 :(得分:3)
您无法从UIActivityViewController
排除应用,因为这些应用声明可以打开并处理.csv文件类型(通过Document types
中的Info.plist
)。
如果您不想显示这些应用程序,则可以直接将文件共享到目标。例如,对于电子邮件,您可以使用MFMailComposeViewController
。