iOS 分享--友盟

集成就不说了,下载SDK 后 第三个文件夹里有很多html文件 打开去看 非常详细

常用平台:
友盟: http://www.umeng.com/

微信开发平台: https://open.weixin.qq.com

微博开发平台: http://open.weibo.com/

百度地图: http://developer.baidu.com/map/

极光: https://www.jpush.cn

Ping++: https://www.pingxx.com/

  1. QQ开发平台

http://open.qq.com/

注册应用 获取APP ID 以及 APP KEY, 审核通过 可获得QQ登录能力

工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,设置Xcode的url scheme格式为

“QQ”+腾讯QQ互联应用APP ID转换成十六进制(不足8位前面补0),例如“QQ05FC5B14”。并在QQ互联后台的URL schema中填入此字符串保持一致。

额外设置 url schemes 的格式为"tencent"+腾讯QQ互联应用APP ID,例如“tencent100424468”

如果 URL schemes 配置错误,则分享完成后无法返回应用(有人说没关系,未证实)

除了要在项目info URL Types中设置URL Schemes,还需要在info.plist里面增加可信任的调用app,否则会报类似错误:

-canOpenURL: failed for URL:"weixin://app/wx9c8771d3c07dfd30/"- error:"This app is not allowed to query for scheme weixin
  1. 在AppDelegate文件集成相应的开关方法:
#import "UMSocial.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

//友盟appkey

[UMSocialData setAppKey:@"xxxxxxxxxxxxxxxx"];

//友盟QQ分享

[UMSocialQQHandler setQQWithAppId:@"xxxxxxxxx" appKey:@"xxxxxxxxxxx" url:@"http://www.umeng.com/social"];

}

添加 以下方法:

//  iOS9 之后

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options

{

return  [UMSocialSnsService handleOpenURL:url];

}

- (BOOL)application:(UIApplication *)application

openURL:(NSURL *)url

sourceApplication:(NSString *)sourceApplication

annotation:(id)annotation

{

return  [UMSocialSnsService handleOpenURL:url];

}
  1. 在点击事件里 弹出选择分享平台窗口:
- (void)shareClick

{

// 在QQ分享时  不显示图文  只有链接 ,请进行下面3步设置:

[UMSocialData defaultData].extConfig.qqData.title = @"QQ自己设置的标题";

[UMSocialData defaultData].extConfig.qqData.url = @"www.altniu.com";

[UMSocialData defaultData].extConfig.qqData.snsName = @"LZNN分享";// 貌似没什么效果,我显示的还是注册app名

[UMSocialData defaultData].extConfig.qzoneData.title = @"QQ空间标题";

[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信分享标题";

[UMSocialData defaultData].extConfig.wechatTimelineData.title = @"朋友圈分享标题";

[UMSocialData defaultData].extConfig.sinaData.urlResource.resourceType = UMSocialUrlResourceTypeWeb;    //  网页type

[UMSocialSnsService presentSnsIconSheetView:self

appKey:@"57047f08e0f55ad8db0012c7"

shareText:@"友盟社会化分享让您快速实现分享等社会化功能,www.umeng.com/social"

shareImage:[UIImage imageNamed:@"icon.png"]

shareToSnsNames:@[UMShareToQQ,UMShareToQzone]

delegate:self];

}

也可以不用[UMSocialData defaultData]; 这样我就可以打上唯一标识:

//把你的文章或者音乐的标识,作为@"identifier"
   UMSocialData *socialData = [[UMSocialData alloc] initWithIdentifier:@"identifier"];

通过标示 去获取评论和发送评论:

 //把你的文章或者音乐的标识,作为@"identifier"
            UMSocialData *socialData = [[UMSocialData alloc] initWithIdentifier:@"identifier"];

//  这里是 弹出一个评论list, 也可以在这里发表评论
            UMSocialControllerServiceComment *socialControllerService = [[UMSocialControllerServiceComment alloc] initWithUMSocialData:socialData];
            UINavigationController *commentList = [socialControllerService getSocialCommentListController];
            [self presentModalViewController:commentList animated:YES];
            
            //  获取评论
            UMSocialDataService *socialDataService = [[UMSocialDataService alloc] initWithUMSocialData:socialData];
            
            [socialDataService requestCommentList:(-1) completion:^(UMSocialResponseEntity *response){
                NSLog(@"comment1 data is %@",response.data);
            }];
            
            //  发送评论
            [socialDataService postCommentWithContent:@"sss" completion:^(UMSocialResponseEntity *response) {
                NSLog(@"comment2 data is %@",response.data);
            }];

新浪微博出现的Bug :

程序崩溃:

reason: '-[NSConcreteMutableData wbsdk_base64EncodedString]: unrecognized selector sent to instance 0x78ee7e20'.

这个问题是由于你shareSDk中的新浪微博不支持 armv7s。所导致的。你得移出armv7s,完了在Other Linker Flags 中添加-ObjC就可以了.

通过PROJECT-Build Setting,然后把Build Active Architecture Only的值设置为Yes。

把Valid Architectures的值中的armv7s删除。

这样 就可以在QQ和QQ空间分享了 微信请提前申请,审核通过才有appID, 其他的也类似,给新手一个祝福。。。。。
====================== 2016 ===========================

2020年5月,时过四年,回看,这些东西看官方文档就好了,何必写下来。。。

你可能感兴趣的:(iOS 分享--友盟)