Ios 如何检测已选择的活动以及如何检查消息是否已发送?
我有一些代码,可以从应用程序中简单地共享一些消息Ios 如何检测已选择的活动以及如何检查消息是否已发送?,ios,cocoa,touch,share,uiactivityviewcontroller,Ios,Cocoa,Touch,Share,Uiactivityviewcontroller,我有一些代码,可以从应用程序中简单地共享一些消息 UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[message] app
UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
initWithActivityItems:@[message]
applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityViewController animated:YES completion:nil];
问题:
提前感谢。您需要实现
UIActivityViewControllerCompletionHandler
,在这里您可以看到用户做了什么或他们是否取消了操作。以下是如何使用UIActivityViewControllerCompletionHandler
的示例:
UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
initWithActivityItems:@[@"abc", someImage]
applicationActivities:nil];
[activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed) {
NSLog(@"%@, %d", activityType, completed);
}];
activityViewController.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityViewController animated:YES completion:nil];
在iOS8中,completionHandler属性不推荐使用。改用completionWithItemsHandler属性:
activityViewController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
NSLog(@"completed = '%@'", (completed) ? @"YES" : @"NO");
NSLog(@"activityType = '%@'", activityType);
};
所以你问了一个问题,得到了让你解决问题的答案,然后用一些代码添加了你自己的答案,然后决定选择你的答案作为“正确”答案?嗯,只是以前从没见过。您无法奖励自己的分数,但决定了奖励不应授予任何人的少数分数?这对于iOS 8(从beta 5开始)不再可行,
completionHandler
属性已被弃用。UIActivityViewController有一个新的completionWithItemsHandler属性,该属性不在文档中,但在API Diff中,并且是在UIActivityViewController.h中定义的。很好,它可以工作,但是它来自哪里?它不在文档中…@Guy:它是在UIActivityViewController.h中定义的。我向苹果公司提交了一份雷达报告,以便将其添加到文档中。