我添加activityViewController到我的应用程序如下图所示,通过图像中
UIActivityViewController *avc = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:img,nil] applicationActivities:[NSArray arrayWithObjects:nil]];
[self presentModalViewController:avc animated:YES];
[avc release];
在模拟器上(Twitter,Facebook和微博账户的所有未配置):
选择邮件,推特,脸谱,微博,指定联系,保存到相机胶卷,打印和复制默认显示。
但在设备上:
在我的应用程序:Twitter,Facebook和微博是否配置账户只显示。
在Safari中:Twitter,Facebook和微博的选项是否已配置账户可用irregardless。
我期待在我的应用程序如Safari相同的行为。 我失去了一个特定的步骤?
好吧,我想通这个问题。
在UIActivityViewController所示的选项完全取决于将要被共享的项目的类型。 例如,如果有一个视频,它不会显示Facebook或Twitter选项。 但是,如果它是一个图片和标题,它肯定会显示相关选项。
下面将出现如邮件,微博,脸谱,assignToContact,保存到相机胶卷,打印,复印等应用
// Create the content
NSString *message = @"The Upcoming App Scribble Talk";
UIImage *imageToShare = [UIImage imageNamed:@"createbtn.png"];
NSArray *objectsToShare = [NSArray arrayWithObjects:message, image, nil];
但是,以下将只会显示相机胶卷,电子邮件或复制。
NSString *message = @"The Upcoming App Scribble Talk";
NSString *videoToShare = @"myFirsScribble.mov";
NSURL *videoPath = [NSURL fileURLWithPath:videoToShare];
NSArray *objectsToShare = [NSArray arrayWithObjects:message, videoPath, nil];
我想你想只在您的UIActivityViewController表现出一定的服务。 你可能一个属性叫excludedActivityTypes
被定义如下,以避免一些默认的活动。
UIActivityViewController *yourvc = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:img,nil] applicationActivities:[NSArray arrayWithObjects:nil]];
yourvc.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypePrint,UIActivityTypeMail,UIActivityTypeCopyToPasteboard];//Try this code in simulator.. you can only see FB & Twitter.
[self presentModalViewController:yourvc animated:YES];
[avc release];
同样,你可以排除默认UIActivityViewController ..