我想以AirDrop作为我的应用程序中的唯一选项来展示股票表。
在iOS 7中,我可以简单地将所有共享类型添加到UIActivityViewController的excludedActivityTypes属性(UIActivityTypeMessage,UIActivityTypeMail,.)
但是现在在iOS 8中,随着应用程序的扩展,用户可能会有额外的共享提供商出现。有没有办法只显示AirDrop
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[[NSURL URLWithString:url]]
applicationActivities:nil];
NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
UIActivityTypePostToWeibo,
UIActivityTypeMessage, UIActivityTypeMail,
UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];发布于 2019-01-14 16:33:21
SWIFT4.2版的琼尼的回答
class AirDropOnlyActivityItemSource: NSObject, UIActivityItemSource {
///The item you want to send via AirDrop.
let item: Any
init(item: Any) {
self.item = item
}
func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
//using NSURL here, since URL with an empty string would crash
return NSURL(string: "")!
}
func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivity.ActivityType?) -> Any? {
return item
}
}使用:
let itemSource = AirDropOnlyActivityItemSource(item: "test")
let activityVc = UIActivityViewController(activityItems: [itemSource], applicationActivities: nil)发布于 2015-02-23 20:24:50
目前还不可能。您应该提交一个苹果增强要求,解释为什么这对用户/开发人员有用。
https://stackoverflow.com/questions/28607781
复制相似问题