集成就不说了,下载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/
- 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
- 在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];
}
- 在点击事件里 弹出选择分享平台窗口:
- (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月,时过四年,回看,这些东西看官方文档就好了,何必写下来。。。