iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 我的应用程序中缺少某些UIActivityViewController服务大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用程序中实现了UIActivityViewController,可以成功共享字符串和图像.但是,我注意到当您在iOS照片应用程序中共享图像时,有些服务没有出现在我的应用程序中.即打印,用作壁纸,分配给联系人和照片流.我的应用程序能够使用邮件,消息,Facebook,Twitter和复制就好.

我想的是:

1.)这些额外服务已使用UIActivityItemProvider,UIActivityItemsource等在Photos应用程序中实现为自定义服务.

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];
    }];
}

解决方法

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

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

大佬总结

以上是大佬教程为你收集整理的ios – 我的应用程序中缺少某些UIActivityViewController服务全部内容,希望文章能够帮你解决ios – 我的应用程序中缺少某些UIActivityViewController服务所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。