ios开发调用系统自带的分享

1.一般情况下提到分享,我们会想到去集成某些第三方的框架,例如很多第三方分享的集合例如友盟的,集成效果如下


这里只涉及到了常用的新浪、微信、及qq; 

分享功能:三个平台都比较宽松,只有有appid,都可以进行分享!

登录功能:微信就比较苛刻了,需要进行开发者认证,其支付功能也需要开发者认证;其他两家平台相对宽松

2.下边主要说说系统自带的分享功能::

此功能主要涉及到ios自带的UIActivityViewController

1》创建其分享的标题,内容或图片或链接

    NSString *testToShare = @"分享的标题";

    UIImage *imageToShare = [UIImage imageNamed:@"client"];

    NSURL *urlToShare = [NSURL URLWithString:@"http://www.baidu.com"];

    NSArray *activityItems = @[testToShare,imageToShare,urlToShare];

2》创建控制器,并将分享内容数组传给此控制器对象

 UIActivityViewController *activityVc = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];

3》很多系统自带的分享功能如果不需要的可以隐去,即设置不出现在活动项目中的选项数组 

//不出现在活动项目

//activityVc.excludedActivityTypes=@[UIActivityTypePrint,UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll];


4》推出控制器及分享回调

 [self presentViewController:activityVc animated:YES completion:nil];

    activityVc.completionWithItemsHandler = ^(UIActivityType  _Nullable activityType, BOOL completed, NSArray * _Nullable returnedItems, NSError * _Nullable activityError) {

        if (completed) {

            NSLog(@"分享成功");

        }else{

            NSLog(@"分享取消");

        }

        

    };

5》系统的分享文字默认是英文的,要想改成中文的,修改info.plist中的 Localization native development region字段为China即可

附图:



 




猜你喜欢

转载自blog.csdn.net/denggun12345/article/details/80594780