iOS 分享功能开发

iOS 开发过程中可能会遇到需要进行第三方分享的需求,比如向QQ,微信,微博等分享

如下图

我们今天要讲到的方式是使用了一个第三方工具:

一,注册账号

去官网注册:

创建应用,最终获得 App Key,App Secret

二,SDK集成

下载SDK

把下载的SDK拖到项目工程,在弹出的对话框中选中"Copy items if needed"和"Create groups",并点击“Finish“按钮

添加依赖库文件必须添加的依赖库:SystemConfiguration.frameworkQuartzCore.frameworkCoreTelephony.frameworklibicucore.dyliblibz.1.2.5.dylibSecurity.framework

根据社交平台需要添加的依赖库

Social.framework 腾讯微博Accounts.framework 腾讯微博MessageUI.framework 短信和邮件libstdc++.dylib QQ好友和QQ空间SSO授权需要(新注册的腾讯开放平台帐号只支持SSO授权权限)libsqlite3.dylib QQ好友和QQ空间SSO授权需要(新注册的腾讯开放平台帐号只支持SSO授权权限)CoreMotion.framework Google+CoreLocation.framework Google+MediaPlayer.framework Google+CoreText.framework Google+AssetsLibrary.framework Google+AddressBook.framework Google+

到此为止SDK集成就算完成 下来我们开始代码部分

三,初始ShareSDK和社交平台

在AppDelegate.m中添加ShareSDK头文件

1.设置根视图控制器

必须设置rootViewController。如果使用storyBoard,系统会自动设置根视图控制器。

– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch._window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];_window.backgroundColor =[UIColor colorWithRed:249/255.0 green:249/255.0 blue:249/255.0 alpha:1];HelpViewController *mainController=[[HelpViewController alloc]init];_window.rootViewController=mainController;[_window makeKeyAndVisible];return YES;}以上示例代码中讲 HelpViewController 的一个对象设置为了 此应用的rootViewcontroller;

2.初始化ShareSDK

导入头文件,加上初始化方法。

#import <ShareSDK/ShareSDK.h> //1.初始化ShareSDK应用,字符串"iosv1101"是应该换成你申请的ShareSDK应用中的Appkey[ShareSDK registerApp:@"iosv1101"];//2. 初始化社交平台//2.1 代码初始化社交平台的方法[self initializePlat];

[self initializePlat ] 方法见下一步(此处以微信,qq,腾讯微博 ,新浪微博为例);

3.初始化社交平台

可以用代码初始化或在ShareSDK开发者后台的社会化平台设置中填入社交平台的信息。

#import "WXApi.h"#import "WeiboSDK.h"#import "WeiboApi.h"#import <TencentOpenAPI/QQApi.h>#import <TencentOpenAPI/QQApiInterface.h>#import <TencentOpenAPI/TencentOAuth.h>社交平台的AppKey、AppSecret、回调地址等需要您自已去相应平台新建应用获取。

– (void)initializePlat{/**连接微信应用以使用相关功能,此应用需要引用WeChatConnection.framework和微信官方SDK上注册应用,并将相关信息填写以下字段**/[ShareSDK connectWeChatWithAppId:@""appSecret:@""wechatCls:[WXApi class]];/**连接QQ应用以使用相关功能,此应用需要引用QQConnection.framework和QQApi.framework库上注册应用,并将相关信息填写到以下字段**///旧版中申请的AppId(如:QQxxxxxx类型),可以通过下面方法进行初始化// [ShareSDK connectQQWithAppId:@"QQ075BCD15" qqApiCls:[QQApi class]];[ShareSDK connectQQWithQZoneAppKey:@""qqApiInterfaceCls:[QQApiInterface class]tencentOAuthCls:[TencentOAuth class]];///**连接腾讯微博开放平台应用以使用相关功能,此应用需要引用TencentWeiboConnection.framework上注册腾讯微博开放平台应用,并将相关信息填写到以下字段如果需要实现SSO,需要导入libWeiboSDK.a,并引入WBApi.h,将WBApi类型传入接口**/[ShareSDK connectTencentWeiboWithAppKey:@""appSecret:@""redirectUri:@""wbApiCls:[WeiboApi class]];///**连接QQ空间应用以使用相关功能,此应用需要引用QZoneConnection.framework上申请加入QQ登录,并将相关信息填写到以下字段如果需要实现SSO,需要导入TencentOpenAPI.framework,并引入QQApiInterface.h和TencentOAuth.h,将QQApiInterface和TencentOAuth的类型传入接口**/// [ShareSDK connectQZoneWithAppKey:@""//appSecret:@""//qqApiInterfaceCls:[QQApiInterface class]//tencentOAuthCls:[TencentOAuth class]];/**连接新浪微博开放平台应用以使用相关功能,此应用需要引用SinaWeiboConnection.framework上注册新浪微博开放平台应用,并将相关信息填写到以下字段**/[ShareSDK connectSinaWeiboWithAppKey:@""appSecret:@""redirectUri:@""];}

四,设置URL Scheme

1.需要依赖客户端分享或者要支持SSO授权(可以理解成跳到客户端授权)的平台都需要配置平台的URL Scheme(应用分享到社交平台后通过识别URL Scheme返回应用)。具体配置URL Scheme请参考iOS配置SSO授权

(%E9%85%8D%E7%BD%AEsso%E6%8E%88%E6%9D%83-2/)。

心中有愿望一定要去闯,努力实现最初的梦想,

iOS 分享功能开发

相关文章:

你感兴趣的文章:

标签云: