1、需要在指定官网注册App,并获取AppKey
https://open.weixin.qq.com/cgi-bin/appdetail?t=manage/detail&type=app&lang=zh_CN&token=a80628f45e29c6e2d48fcb6ddc89ae07eb72b96a&appid=wx2e6d2fa4ffc9dc9a
支持微信所需的相关配置及代码 在微信开放平台( http://open
. weixin.qq.com/
)注册应用并取得应用的AppID,然后打开下图位置,在URL Types中添加微信AppID
2、下载SDK 根据所开发的平台去选择,以下以开发微信为例
http://www.mob.com/downloadDetail/ShareSDK/ios
3、快速集成
第一步:将下载的SDK解压后,导入到工程里,这部分就不详细说了
注意:XCode9之前版本直接拖SDk进去请务必在上述步骤中选择“Create groups for any added folders”单选按钮组。如果你选择“Create folder references for any added folders”,一个蓝色的文件夹引用将被添加到项目并且将无法找到它的资源。
第二步:添加依赖库
必须添加的依赖库如下(Xcode 7 之后 *.dylib库后缀名更改为*.tbd):
- libicucore.dylib
- libz.dylib
- libstdc++.dylib
- JavaScriptCore.framework
以下依赖库根据社交平台添加:
新浪微博SDK依赖库
- ImageIO.framework
- libsqlite3.dylib
QQ好友和QQ空间SDK依赖库
微信SDK依赖库
Instagram需要依赖库
- AssetsLibrary.framework
- Photos.framework
美拍需要依赖库
第三步:设置shareSDK 的Appkey并初始化对应的第三方社交平台
在项目工程的Info.plist 中如图增加 MOBAppKey 和 MOBAppSecret 两个字段
在 MOBAppKey中 设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到 登录后台
进行应用注册 也可以点击 链接
看里面的操作步骤。
第四步:基本上配置环境完成
导入头文件
#import
//微信SDK头文件
#import "WXApi.h"
第六步:在AppDelegate 里找到
- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerActivePlatforms方法来初始化SDK并且初始化第三方平台( 各社交平台申请AppKey的网址及申请流程汇总
)
/**初始化ShareSDK应用
@param activePlatforms
使用的分享平台集合
@param importHandler (onImport)
导入回调处理,当某个平台的功能需要依赖原平台提供的SDK支持时,需要在此方法中对原平台SDK进行导入操作
@param configurationHandler (onConfiguration)
配置回调处理,在此方法中根据设置的platformType来填充应用配置信息
*/
[
ShareSDK
registerActivePlatforms
:
@[
@(
SSDKPlatformTypeWechat
)
,
]
onImport
:^(
SSDKPlatformType
platformType)
{
switch
(platformType)
{
case
SSDKPlatformTypeWechat
:
[
ShareSDKConnector
connectWeChat
:[
WXApi
class
]];
break
;
default
:
break
;
}
}
onConfiguration
:^(
SSDKPlatformType
platformType,
NSMutableDictionary
*appInfo)
{
switch
(platformType)
{
case
SSDKPlatformTypeSinaWeibo
:
case
SSDKPlatformTypeWechat
:
[appInfo
SSDKSetupWeChatByAppId
:
@"wx2e6d2fa4ff******"
appSecret
:
@"3891815d5***************"
];
break
;
default
:
break
;
}
}];
第七步:再此封装ShareSDKMethod方法,可自定义方法,在Controller调用
[
ShareSDKMethod
ShareTextActionWithTitle
:decodedString0
ShareContent
:decodedString1
ShareUlr
:decodedString2
ShareUlrImage
:
decodedString3
IsCollect
:
NO
IsReport
:
NO
IsCollected
:
NO
Report
:
nil
Collect
:
nil
Result
:^(
SSDKResponseState
state,
SSDKPlatformType
platformType,
NSDictionary
*userData,
SSDKContentEntity
*contentEntity,
NSError
*error) {
}];
注意:最后ios9+还需要配置对应的平台的白名单
问题描述:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme。对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端。因此要支持客户端的分享和授权等,需要配置Scheme名单。
在info.plist中添加如下字段
LSApplicationQueriesSchemes
wechat