仅通过AirDrop共享 [英] Share via AirDrop only
本文介绍了仅通过AirDrop共享的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在我的应用程序中使用AirDrop作为唯一选项来显示共享表.
I want to bring out the share sheet with the AirDrop as the only option in my application.
在iOS 7中,我可以将所有共享类型简单地添加到 UIActivityViewController
( UIActivityTypeMessage
, UIActivityTypeMail
,...)
In iOS 7, I could simple add all share types to the excludedActivityTypes
property of UIActivityViewController
(UIActivityTypeMessage
, UIActivityTypeMail
, ...)
但是现在在iOS 8中,随着应用程序扩展,用户可能会出现额外的共享提供程序.有什么办法只显示AirDrop ?
But now in iOS 8, with the app extensions, the users may have extra sharing providers that show up. Is there any way to show AirDrop only?
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];
推荐答案
class AirDropOnlyActivityItemSource : NSObject, UIActivityItemSource {
/// The item you want to send via AirDrop.
let item: AnyObject
init(item: AnyObject) {
self.item = item
}
func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
/// Use an empty URL as placeholder to let iOS Share Sheet show the AirDrop only.
return NSURL(string: "")!
}
func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
return item
}
}
这篇关于仅通过AirDrop共享的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文