第三方分享(原生)

集成部分

  • 官网下载SDK
    https://open.weixin.qq.com (微信的)
    http://open.weibo.com (新浪的)(这里我只简单介绍二种,其他的大同小异)
  • 拉入项目中
  • 配置需要的一些库文件


    第三方分享(原生)_第1张图片
    weibo.png

    第三方分享(原生)_第2张图片
    wechat.png
  • 编译下。提示有方法找不到的时候可以在 Build SettIngs -> 搜索 other linker Flags-> 添加 -ObjC
  • 配置URL Schemes
  • 在info.plist里配置白名单
LSApplicationQueriesSchemes
 
  sinaweibohd
  sinaweibo
  weibosdk
  weibosdk2.5
  weixin
 
  • 部分代码

- (void) shareToWechat
{
        WXMediaMessage *message = [WXMediaMessage message];
        message.title = @"标题";
        message.description = @"详情";
        //获取原图
        UIImage *originImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:@"图片URL"];//这里使用SD进行图片缓存
        
        [message setThumbImage:originImage];
        
        WXVideoObject *ext = [WXVideoObject object];//视频类型
        ext.videoUrl = @"链接地址";
        message.mediaObject = ext;
        
        SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
        req.bText = NO;
        req.message = message;
        req.scene = WXSceneSession;//WXSceneTimeline(朋友圈)
        
        [WXApi sendReq:req];
}
- (void)shareToSina
{
        WBAuthorizeRequest *authRequest = [WBAuthorizeRequest request];
        authRequest.redirectURI = @"http://www.sina.com";
        authRequest.scope = @"all";
        WBMessageObject *message = [WBMessageObject message];
        
        WBWebpageObject *webpage = [WBWebpageObject object];
        
        webpage.objectID = @"identifier1";
        webpage.title = @"标题";
        webpage.description = @"描述";
        
        //切记分享的图片大小不能超过32k,否则分享不成功(个人觉得放LOGO的)。
        webpage.thumbnailData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"userImage" ofType:@"png"]];
        webpage.webpageUrl = @"链接地址"; 
        message.mediaObject = webpage;
        
        WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message authInfo:authRequest access_token:nil];
        [WeiboSDK sendRequest:request];
}

  • 可能遇到的问题
    编译时报错,什么方法找不到,看是否有加入-ObjC
    跳转不成功?看是否有配置白名单
    返回时崩溃?在AppDelegate中加入回调方法(个人愚见)
/** 微博分享结束后的回调 */
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response{}
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request{}
/** 分享回调 */
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return  [WXApi handleOpenURL:url delegate:self] | [WeiboSDK handleOpenURL:url delegate:self];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [WXApi handleOpenURL:url delegate:self] | [WeiboSDK handleOpenURL:url delegate:self];
}

说一下申请AppKey

  • 微信开放平台
    账号:邮箱注册(未注册开发平台、未注册公众平台、未绑定私人账号)
    应用中英文名称、中英文简介
    28X28像素的、108X108像素的PNG格式的图片(logo)
    应用官网(网址)
    Bundle ID // 很容易申请成功。。。我第二天就有结果了

  • 新浪开放平台
    微博账号登录
    开发者类型:个人 公司
    开发者名称、企业邮箱、企业电话、紧急联系人、电话
    真实姓名、证件号码、证件照片、手机验证
    Apple ID、
    应用简介(15)、应用介绍(1000)
    搜索标签
    16X16、80X80、120X120(PNG/JPG)
    应用介绍图片三张(高:300px 宽:450px) //需要个人认证,才能提交审核


懂得分享才能使我们成长的更快!

你可能感兴趣的:(第三方分享(原生))