确定使用了哪个共享扩展

edc*_*591 5 cocoa-touch ios uiactivityviewcontroller ios8

由于completionHandleron UIActivityViewControlleriOS在iOS 8中已弃用,有没有办法确定用户使用哪个共享扩展/活动?

Tom*_*voy 14

您只需要使用新的处理程序UIActivityViewControllerCompletionWithItemsHandler:

typedef void (^UIActivityViewControllerCompletionWithItemsHandler)(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError);
Run Code Online (Sandbox Code Playgroud)

像这样称呼它:

[yourActivityVC setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError){

}];
Run Code Online (Sandbox Code Playgroud)

此外,如果您想知道选择了哪个项目,您只需要确保您的活动项目符合UIActivityItemSource协议;

UIActivityItemSource协议文档