iOS 5步集成微信/QQ/微博 原生SDK分享, 分享只需一行
2016-09-06 本文已影响1104人
倚楼听风雨wing
interface.png
demo地址:https://github.com/wangyansnow/WYShareSDK
里面包含三大平台所需SDK.只需下载下来后把ShareSDK
这个文件夹拖入项目即可
一、项目环境搭建
-
cocoaPods
pod 'WYShareSDK'
集成三大平台的分享登录功能
pod 'WYShareSDK/QQSDK'
集成QQ分享登录
pod 'WYShareSDK/WXSDK'
集成微信分享登录
pod 'WYShareSDK/WeiboSDK'
集成微博分享登录
如果使用cocoaPods的方式集成,则只需要做下面手动集成的[3]、[4]两步即可。[推荐使用]
如果你的Podfile中使用了use_frameworks!
集成了微博SDK则还需要做以下操作:
找到Pods中WeiboSDK.bundle
拖入到宿主工程中
-
手动集成
[1]将ShareSDK
文件夹中的文件拖入到项目中
[2]链接所需的系统库
1. CoreText.framework
2. ImageIO.framework
3. QuartzCore.framework
4. CoreGraphics.framework
5. Security.framework
6. SystemConfiguration.framework
7. CoreTelephony.framework
8. libsqlite3.0.tbd
9. libsqlite3.tbd
10. libstdc++.tbd
11. libiconv.tbd
12. libz.tbd
13. libc++.tbd
Paste_Image.png
[3]在Xcode中,选择你的工程设置项,选中TARGETS
一栏,在info
标签栏的URL type
添加URL scheme
为你在各大平台所注册应用程序的id (如下图所示)
[4]针对iOS9的适配.右击项目中的info.plist,然后用Open as -> Source Code的方式打开,增加如下代码:
注:
如果只集成了微信,那么就只需要添加微信的部分即可
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- 微信 -->
<string>wechat</string>
<string>weixin</string>
<!-- 微信 -->
<!-- 微博 -->
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
<!-- 微博 -->
<!-- QQ -->
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqconnect</string>
<string>mqqopensdkdataline</string>
<string>mqqopensdkgrouptribeshare</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqzoneopensdk</string>
<string>wtloginmqq</string>
<string>wtloginmqq2</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqzonev2</string>
<string>mqzoneshare</string>
<string>wtloginqzone</string>
<string>mqzonewx</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqzoneopensdk</string>
<!-- QQ -->
</array>
<!-- 让iOS9 退回到以前可以支持http请求 -->
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
[5]选中项目设置,在Build Settings
中的Other Linker Flags
中增加-fobjc-arc
和-ObjC
这时编译一下你的项目,如果没有报错,恭喜你环境搭建成功
2.分享的代码使用
在AppDelegate
中注册 微信/QQ/和微博
#import "AppDelegate.h"
#import "WYShareSDK.h"
/** 在三大平台注册的应用ID */
#define WXAppId @"wx7074076f395c69d9"
#define WXAppSecret @"b725568e876x303191defc3123bf8bcf"
#define QQAppId @"1103515189"
#define WBAppKey @"2273722657"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WYShareSDK wy_registerQQApp:QQAppId];
[WYShareSDK wy_registerWeiboApp:WBAppKey];
[WYShareSDK wy_registerWeChatApp:WXAppId wxAppSecret:WXAppSecret];
return YES;
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
return [WYShareSDK wy_handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WYShareSDK wy_handleOpenURL:url];
}
@end
在需要分享的地方直接导入WYShareSDK.h
,调用其对应的方法分享到各个平台.例:
[WYShareSDK wy_weChatShareText:@"分享一个" finished:^(WYShareResponse *response) {
if (response.isSucess) {
NSLog(@"分享成功");
return;
}
NSLog(@"分享失败 error = %@", response.errorStr);
}];