系统的分享:导入
#import <Social/Social.h>
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//1. 判断分享类型是否可用
if (![SLComposeViewControllerisAvailableForServiceType:SLServiceTypeSinaWeibo]) {
NSLog(@"请先到设置中添加新浪微博账号");
return;
}
//2. 创建分享控制器
SLComposeViewController *composeVC = [SLComposeViewControllercomposeViewControllerForServiceType:SLServiceTypeSinaWeibo];
// 设置预设值
//2.1 文字
//二进制 1 10
[composeVC setInitialText:@"这个世界上有10种人,一种是懂二进制的, 一种是不懂二进制的"];
//2.2 图片
[composeVC addImage:[UIImageimageNamed:@"dog"]];
//2.3 网址
[composeVC addURL:[NSURLURLWithString:@"https://www.baidu.com"]];
//3. 弹出分享控制器
[selfpresentViewController:composeVC animated:YEScompletion:nil];
}
=================================================================
友盟分享:导入
#import "UMSocial.h"
#pragma mark 点击分享
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[UMSocialSnsServicepresentSnsIconSheetView:self
appKey:nil
shareText:@"你要分享的文字"
shareImage:[UIImageimageNamed:@"icon.png"]
shareToSnsNames:[NSArrayarrayWithObjects:UMShareToSina,UMShareToWechatSession,UMShareToQQ,UMShareToDouban, UMShareToFacebook,nil]
delegate:nil];
}
#pragma mark SSO授权微博登录
- (IBAction)loginClick:(id)sender {
// 社交分享平台对象 绑定新浪
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManagergetSocialPlatformWithName:UMShareToSina];
snsPlatform.loginClickHandler(self,[UMSocialControllerServicedefaultControllerService],YES,^(UMSocialResponseEntity *response){
// 获取微博用户名、uid、token等
if (response.responseCode ==UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManagersocialAccountDictionary]valueForKey:UMShareToSina];
NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
}});
}
#pragma mark 获取用户详细信息
- (IBAction)onGetUserInfoClick:(id)sender {
//获取accestoken以及新浪用户信息,得到的数据在回调Block对象形参respone的data属性
[[UMSocialDataServicedefaultDataService] requestSnsInformation:UMShareToSina completion:^(UMSocialResponseEntity *response){
NSLog(@"SnsInformation is %@",response.data);
}];
}
*******问题:
当手机上同一个项目安装多个测试环境时,分享到朋友圈会闪退,因为友盟不知道分享到哪一个。