使用分享类的SDK其实有很多,例如友盟、ShareSDK等等,参照他们的文档集成起来并不是很难,可能出的一些问题也就是配置文件的问题,这里我个人使用了ShareSDK分享,具体操作可出现的问题如下:

1.首先去ShareSDK官方网站注册开发者账号,获取AppKey用来注册SDK:http://www.mob.com/#/

2.下载SDK:http://www.mob.com/#/downloadDetail/ShareSDK/ios

(1) ShareSDK.framework:核心静态库。(必要)
(2) Support 文件夹。其中包含三个文件夹 :(a) Required (需要的类库) :----- MOBFoundation.framework:基础功能框架。(必要)----- ShareSDK.bundle:ShareSDK资源文件。(必要)----- ShareSDKConnector.framework:用于ShareSDK框架与外部框架连接的代理框架插件。(使用第三方SDK时必要。)(b) Optional (可选类库):----- ShareSDKExtension.framework:对ShareSDK功能的扩展框架插件。(主要提供第三方平台登录、 一键分享、截屏分享、摇一摇分享等相关功能。需要使用以上功能时必要。)----- ShareSDKInterfaceAdapter.framework:ShareSDK v2.x对简洁版的接口兼容包。----- ShareSDKUI.bundle:分享菜单栏和分享编辑页面资源包。(如果自定义这些UI可直接移除)----- ShareSDKUI.framework:分享菜单栏和分享编辑页面。(如果自定义这些UI可直接移除)(c) PlatformSDK 第三方平台SDK。(不需要的平台的SDK可直接移除)

3.去新浪微博开放平台、腾讯开放平台、微信开放平台等去注册账号,获取AppKey、AppID、APPScret等

平台
开放平台地址
APPkey 申请流程
新浪微博
http://open.weibo.com
http://bbs.mob.com/thread-89-1-4.html
新浪微博开放平台接入tips
腾讯微博
http://dev.t.qq.com
http://bbs.mob.com/thread-265-1-1.html
QQ空间[2]
http://open.qq.com/
http://bbs.mob.com/thread-98-1-4.html
微信[3]
http://open.weixin.qq.com
http://bbs.mob.com/thread-95-1-4.html
Facebook
https://developers.facebook.com
如何创建facebook的应用   
facebook审核流程:iOS  Android
Twitter
https://dev.twitter.com
http://bbs.mob.com/thread-119-1-3.html
google+ https://console.developers.google.com/
http://bbs.mob.com/forum.php?mod=viewthread&tid=20731&page=1&extra=#pid45156
豆瓣
http://developers.douban.com
http://bbs.mob.com/thread-253-1-1.html
有道云笔记
http://note.youdao.com/open/developguide.html#app
http://bbs.mob.com/thread-256-1-1.html
印象笔记
https://dev.evernote.com/
http://bbs.mob.com/thread-263-1-1.html
Linkedin
https://www.linkedin.com/secure/developer?newapp=
http://bbs.mob.com/forum.php?mod=viewthread&tid=20729&extra=page%3D1
Flickr
http://www.flickr.com/services/
http://bbs.mob.com/thread-245-1-2.html
Pinterest
http://developers.pinterest.com/
http://bbs.mob.com/forum.php?mod=viewthread&tid=20730&page=1&extra=#pid45154
Tumblr
http://www.tumblr.com/developers
http://bbs.mob.com/thread-248-1-2.html
Dropbox
https://www.dropbox.com/developers
http://bbs.mob.com/thread-249-1-2.html
Instagram
http://instagram.com/developer#
http://bbs.mob.com/thread-250-1-1.html
VKontakte
http://vk.com/dev
http://bbs.mob.com/thread-251-1-1.html
易信好友[4]
http://open.yixin.im/
http://bbs.mob.com/thread-236-1-2.html
明道
http://open.mingdao.com/
http://bbs.mob.com/thread-257-1-1.html
人人网
http://dev.renren.com
http://bbs.mob.com/thread-309-1-1.html
开心网
http://open.kaixin001.com
http://bbs.mob.com/thread-308-1-1.html
搜狐随身看 https://open.sohu.com/
http://bbs.mob.com/thread-331-1-1.html

4.在plist文件配置属性

(1)Htpp协议,如果适配iSO9,需要暂时回退到http协议 info plist加<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>(2)设置白名单 ,在plist文件的URL Types中设置URL Schemes白名单:具体设置可以参照官方文档,很详细
(3)涉及到客户端跳转,一定要设置scheme到LSApplicationQueriesSchemes,只有设置了这个,在真机才能实现客户端的跳转,进入QQ、微信、新浪等
    进入QQ客户端:

   进入微信客户端:

  新浪微博客户端:

      

好了,一定准备就绪,直接上代码://1.创建一个AppDelegate分类
#import "AppDelegate.h"//shareSDK
#import <ShareSDK/ShareSDK.h>
#import <ShareSDKConnector/ShareSDKConnector.h>//腾讯开放平台(对应QQ和QQ空间)SDK头文件
#import <TencentOpenAPI/TencentOAuth.h>
#import <TencentOpenAPI/QQApiInterface.h>//微信SDK头文件
#import "WXApi.h"//新浪微博SDK头文件
//新浪微博SDK需要在项目Build Settings中的Other Linker Flags添加"-ObjC"
#import "WeiboSDK.h"@interface AppDelegate (KJShareSDk)-(void)shareApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;@end

//  AppDelegate+KJShareSDk.m
//  KenJiao
//
//  Created by mac on 16/4/26.
//  Copyright © 2016年 mac. All rights reserved.
//

#import "AppDelegate+KJShareSDk.h"@implementation AppDelegate (KJShareSDk)-(void)shareApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{/***  设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到http://mob.com/login 登录后台进行应用注册,*  在将生成的AppKey传入到此方法中。*  方法中的第二个第三个参数为需要连接社交平台SDK时触发,*  在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。*  如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。*/[ShareSDK registerApp:@"121f16c6xxxxx"activePlatforms:@[@(SSDKPlatformTypeSinaWeibo),@(SSDKPlatformTypeWechat),@(SSDKPlatformTypeQQ)]onImport:^(SSDKPlatformType platformType){switch (platformType){case SSDKPlatformTypeWechat:[ShareSDKConnector connectWeChat:[WXApi class]];break;case SSDKPlatformTypeQQ:[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];break;case SSDKPlatformTypeSinaWeibo:[ShareSDKConnector connectWeibo:[WeiboSDK class]];break;default:break;}}onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo){switch (platformType){case SSDKPlatformTypeSinaWeibo://设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权[appInfo SSDKSetupSinaWeiboByAppKey:@"117501xxx"appSecret:@"ac85119d8a70e9c954bbf62364xxxx"redirectUri:@"http://www.baidu.com"authType:SSDKAuthTypeBoth];break;case SSDKPlatformTypeWechat:[appInfo SSDKSetupWeChatByAppId:@"wx365f7b8b89dxxxx"appSecret:@"652feede37bd1ff5484abb1ed51xxxxf"];break;case SSDKPlatformTypeQQ:[appInfo SSDKSetupQQByAppId:@"1105359xxx"appKey:@"ewgzpB2GOf3SIxxx"authType:SSDKAuthTypeBoth];break;default:break;}}];
}@end

//2.在AppDelegate类中直接调用即可

#import "AppDelegate.h"
#import "AppDelegate+KJShareSDk.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//注册shareSDK
    [self shareApplication:application didFinishLaunchingWithOptions:launchOptions];return YES;
}
@end

//3、最后一步就是分享内容了

//点击微信
-(void)weiixnBtnClicked:(UIButton *)sender{//1.隐藏分享视图
    [self cancelBtnClicked:nil];//2、创建分享参数NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];[shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"班级号:%@",self.currentClass.class_id]images:nilurl:niltitle:@"将该班级号分享到微信"type:SSDKContentTypeAuto];//3、分享(微信平台)
    [self startSharePlatform:SSDKPlatformTypeWechat parameters:shareParams];}
//点击QQ
-(void)QQBtnClicked:(UIButton *)sender{//1.隐藏分享视图
    [self cancelBtnClicked:nil];//2、创建分享参数NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];[shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"班级号:%@",self.currentClass.class_id]images:nilurl:niltitle:@"将该班级号分享到QQ"type:SSDKContentTypeAuto];//3、分享(QQ平台)
    [self startSharePlatform:SSDKPlatformTypeQQ parameters:shareParams];
}
//点击微博
-(void)weiBoBtnClicked:(UIButton *)sender{//1.隐藏分享视图
    [self cancelBtnClicked:nil];//2、创建分享参数NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];   [shareParams SSDKEnableUseClientShare];//登录客户端   [shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"班级号:%@",self.currentClass.class_id]
                                     images:nilurl:niltitle:@"将该班级号分享到微博"type:SSDKContentTypeAuto];//3、分享(新浪微博平台)
    [self startSharePlatform:SSDKPlatformTypeSinaWeibo parameters:shareParams];}
//开始分享
-(void)startSharePlatform:(SSDKPlatformType)platform parameters:(NSMutableDictionary *)parameters{[ShareSDK share:platform parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {switch (state) {case SSDKResponseStateSuccess:{UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功" message:nil  delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];[alertView show];break;}case SSDKResponseStateFail:{UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败" message:[NSString stringWithFormat:@"%@",error] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];[alert show];break;}default:break;}}];
}
//点击取消
-(void)cancelBtnClicked:(UIButton *)sender{[self.inviteStuView removeFromSuperview];[self.inviteStuView.backgroundView removeFromSuperview];
} 

手机测试截图:例如立即邀请后,使用新浪微博分享班级号,此时打开新浪微博客户端。QQ和微信也是一样的

 

总结:

总结:像适配iOS9此类问题 使用第三方的直接看别人官网就行了,要不访问提供方的如微信,QQ,支付宝API官方看开发文档
如果是用sharesdk 友盟此类的 去看他们的开发文档都会第一时间给开发者提供解决方案的

sharesdk分享 iOS9适配文档地址
http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/

友盟分享 iOS9适配地址
http://dev.umeng.com/social/ios/ios9

本人原创,转载须注明出处,谢谢!

转载于:https://www.cnblogs.com/XYQ-208910/p/5437194.html

iOS:ShareSDk的分享相关推荐

  1. iOS - ShareSDK第三方分享(图文和视频)和登录

    由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...

  2. iOS ShareSDK实现分享——微信分享

    最近领导让添加ios 微信分享视频的功能,之前做的只有微信分享本地图片的功能. 查看官网并没有找到答案,后来在其官网论坛中http://bbs.mob.com/thread-20938-1-1.htm ...

  3. android 分享链接地址,android/IOS各平台分享链接/跳转链接配置说明(备用)

    Android: [Java] 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 微信/朋友圈 //设置分享 ...

  4. shareSDK 微信分享的时候只能分享jpg格式的图片大于32k时为什么分享不出去?

    最新下了9.0的下shareSDK的来做iOS app社交分享,发现当分享到微信上的时候,图片如果是.png格式的话,功能是正常的,但其他格式的图片大于32k时就会分享不成功, 转载于:https:/ ...

  5. shareSDK社会化分享快速集成

    几乎所有的APP上都有分享功能 ,用户希望把自己所见所得告诉身边好友或是其它的用户,App开发者更加希望可以通过分享让更多的人知道我的应用,让更多的人来使用我们的应用.所以分享功能就成为了我们开发AP ...

  6. 关于iOS的社会化分享方案总结

    本文讲的是关于iOS的社会化分享方案总结,一.系统原生 UIActivityViewController 优缺点 优点:使用简单.不用注册繁杂的分享平台账号.不用导入臃肿的SDK包 缺点:UI可定制性 ...

  7. android shareSDK 微博分享案例

    [置顶] android shareSDK 微博分享案例 分类: Android2014-10-10 08:57 11694人阅读 评论(4) 收藏 举报 android shareSDK 微博分享案 ...

  8. [分享]错误“应用程序Xcode的这个版本不能与此版本的OS X配合使用”以及Mac源码和IOS开发资料分享

    [分享]错误"应用程序Xcode的这个版本不能与此版本的OS X配合使用"以及Mac源码和IOS开发资料分享 安装Xcode时,出现"应用程序Xcode的这个版本不能 ...

  9. 使用友盟社会化分享IOS版SDK分享纯图片到微信

    本文和上一篇友盟社会化分享Android版是兄弟篇.其实本人用的是友盟Cocos2d-x的IOS版.对于普通IOS版如何分享纯图片到微信朋友圈,官网文档中已经说明的比较清楚,但是在Cocos2d-x版 ...

最新文章

  1. grub设置密码的方法
  2. jQuery Ajax 实例 ($.ajax、$.post、$.get)
  3. mysql8.0默认引擎是什么_MySQL8.0新特性【转】
  4. 几个常用算法的适应场景及其优缺点
  5. flask 上传头像
  6. 浅谈Java设计模式
  7. 浅谈C/C+内存管理、内存泄漏、堆栈
  8. 台式计算机硬盘的安装位置,如何在台式机机箱中安装硬盘
  9. 小米 note3 android,小米Note3将更新MIUI10:基于安卓8.1 速度提升明显手感更加丝滑...
  10. 西安交大计算机专业考研复试,2018西安交通大学计算机考研复试分数线_计算机考研分数线...
  11. 通过微信扫码登录剖析 oauth2 认证授权技术
  12. C++编写的一个图书管理系统
  13. ajax请求失败readyState为0
  14. ubuntu14.04+cuda6.5+opencv2.4.9+cuda-convnet2配置
  15. 万众瞩目!ICF5国产开源飞控推出,为国内无人系统发力
  16. 学计算机颈椎痛,有效缓解颈椎疼痛的七个简单动作及附图 (电脑族必备)
  17. swing图形用户界面设计
  18. 客户端文件与服务器不匹配,说客户端和服务器版本不一致,咋回事?
  19. 白帽子讲web安全PDF完整版
  20. 动态编译入门(gradle Transform Demo)

热门文章

  1. Java获取yahoo天气预报
  2. 解决修改“文件夹选项”后仍不能显示隐藏文件一例
  3. Java Web之POI操作Excel2016模板
  4. 【模板】割点(割顶)
  5. Win7系统安装MySQL5.5.21图解教程
  6. 【CentOS 7】关于php留言本网站的搭建
  7. Oracle12c 在windonServer2012中安装的步骤
  8. [译]理解HTTP/304响应
  9. 白血病孕妇产子继母子双双安然
  10. [zz]Spring MVC 之 SimpleFormController类別