我的应用程序中缺少某些UIActivityViewController服务

Vap*_*olf 4 ios uiactivityviewcontroller

我已UIActivityViewController在我的应用程序中实现,可以成功共享字符串和图像.但是,我注意到当您在iOS照片应用程序中共享图像时,有些服务没有出现在我的应用程序中.即打印,用作壁纸,分配给联系人和照片流.我的应用程序能够使用邮件,消息,Facebook,Twitter和复制就好.

我想的是:

1)作为照片应用程序内的定制服务使用这些额外的服务已经实现UIActivityItemProvider,UIActivityItemSource等等.

2.)我提供的数据格式不正确,无法与这些服务一起使用.

我已经通过文件几次读取,但似乎并没有看到任何关于它.

编辑:按要求显示代码:

#define SM_SHARE_IMAGE_AND_STRING 1

-(void)actionToolbarViewControllerUserTappedShareButton:(SMActionToolbarViewController*)sender{
    // Reposition anchor view for UIPopoverController to point at
    [self repositionAnchorViewToButtonFrame:self.actionToolbarViewController.shareButtonFrame];

    // Asynch download of image
    [SMUtility downloadAsset:self.selectedAsset completion:^(UIImage *image) {
        // Create image source
        SMActivitySource *activityImageSource = [[SMActivitySource alloc]initWithImage:image];
#if defined(SM_SHARE_IMAGE_AND_STRING)
        // Create string source
        NSString *assetsString = [SMUtility assetsString:[NSArray arrayWithObject:self.selectedAsset]];
        SMActivitySource *activityStringSource = [[SMActivitySource alloc]initWithString:assetsString];

        // Present UIActiviyViewController within an UIPopoverController
        NSArray *items = [@[activityImageSource, activityStringSource]mutableCopy];
#else
        NSArray *items = [@[activityImageSource]mutableCopy];
#endif

        UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:items applicationActivities:nil];
        [activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed){
            [SMMixPanel eventSharePhotoMethod:@"Share"];
        }];
        self.buttonPopoverController = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
        [self.buttonPopoverController presentPopoverFromRect:self.anchorView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    }];
}
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 5

  1. UIActivityViewController只要您提供正确的数据,Print和Assign To Contact活动就是标准活动.
  2. 您必须UIImage为"分配给联系人"活动提供一个.请参阅文档UIActivityTypeAssignToContact.有关UIActivityTypePrint其接受的详细信息,请参阅文档.

"用作壁纸"似乎是仅在照片应用中显示的自定义活动.