开发工具:Xcode
集成形式:手动导入SDK或者Pod集成
SDK版本反对:SDK反对Xcode 9.1.0, iOS8.0+及以上版本
集成前筹备
注册账号
应用ShareSDK之前,须要先在MobTech官网注册开发者账号,并获取AppKey和AppSecret,详情能够点击查看创立利用流程
分享到第三方平台,须要当初对应第三方平台申请平台的AppKey,详情能够点击查看注册利用流程
ShareSDK流程图
增加配置
获取SDK
在 MobService下载核心 下载最新版本SDK
选中ShareSDK,抉择须要的平台,而后点击“保留配置”:
选中所须要的平台后,点击“下载”按钮,就会下载好SDK
舒适提醒: 各平台的左边有个问号,将鼠标搁置下来会弹出该平台的简略阐明
下载下来的SDK构造
SDK目录构造阐明SDK: Required: MOBFoundation.framework (根底工具库) ShareSDK: ShareSDK.framework (主业务实现) Support: Required: ShareSDK.bundle (ShareSDK资源文件) ShareSDKConnector.framework(v4.2.0版本后已废除) PlatformConnector: ... (各个平台独立逻辑依赖库,只须要集成须要的平台即可) PlatformSDK: ... (各个平台的SDK文件,不集成默认走去SDK业务逻辑,目前反对大部分支流 平台,如QQ 微博 微信等) Optional:(可选) ShareSDKUI.bundle (分享UI的资源文件) ShareSDKUI.framework (分享UI库) ShareSDKConfigFile.framework(xml配置文件模式分享依赖库) ShareSDKConfigFile.bundle (xml配置文件模式分享资源文件) ShareSDKExtension.framework(性能的扩大框架插件。(第三方平台检测、 一键分享、截屏分享、摇一摇分享等相干性能) ShareSDKLink.framework(闭环分享库)
留神:导入的时候,须要将整个SDK资源文件导入到我的项目里
导入SDK
(1)手动下载SDK导入
将下面获取到的SDK,间接将整个SDK资源文件拖进我的项目里,如下图:
并且勾选以下3个选项
在点击Finish,实现导入。
(2)CocoaPods引入,请参考 Pod集成
增加依赖库
点击“+”号,并在弹框里输出以下依赖库,进行增加
必要依赖库:
- libc++.tbd
- libz.tbd
- libsqlite3.tbd
社交平台依赖库(依据本人需要增加):
苹果登录依赖库:
- AuthenticationServices.framework
Facebook依赖库:
- AuthenticationServices.framework
- SafariServices.framework
- Accelerate.framework
新浪微博
- ImageIO.framework
- Photos.framework
- AssetsLibrary.framework
- Photos.framework
美拍
- AssetsLibrary.framework
Xcode配置
(1)在我的项目的Build Settings中的Other Linker Flags双击增加”-ObjC” ,留神大小写
(2) 配置ShareSDK的AppKey和AppSecret,键别离为 MOBAppKey 和 MOBAppSecret ,值为之前在MobTech官网开发者后盾申请的AppKey和AppSecret(留神: 配置之后保留好,配置好后看我的项目的Info选项里有没)
API接口
回传用户隐衷受权后果(uploadPrivacyPermissionStatus)
为保障您的App在集成MobSDK之后可能满足工信部相干合规要求,您应确保App装置首次冷启动且获得用户浏览您《隐衷政策》受权之后,调用Mob提交到的隐衷协定回传函数uploadPrivacyPermissionStatus回传隐衷协定受权后果。
反之,如果用户不批准您App《隐衷政策》受权,则不能调用uploadPrivacyPermissionStatus回传隐衷协定受权后果。
相干隐衷申明请参考链接合规指南
/** * 上传隐衷协定受权状态 * @param isAgree 是否批准(用户受权后的后果) * @param OnResult 执行回调后果,可为nil (留神业务逻辑不要依赖于这个success后果,倡议业务逻辑在调用这个接口之后来写)*/+ (void)uploadPrivacyPermissionStatus:(BOOL)isAgree onResult:(void (^_Nullable)(BOOL success))handler;
示例代码
调用地位开发者能够本人指定,只需在应用SDK性能之前调用即可。
oc#import <MOBFoundation/MobSDK+Privacy.h> [MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) { }];
swiftMobSDK.uploadPrivacyPermissionStatus(true) { (Success) in };
导入头文件并进行第三方平台初始化(registPlatforms)
通常都是启动的时候在 application:didFinishLaunchingWithOptions:中增加初始化办法,也可保障注册在ShareSDK的业务执行之前即可。 这里提供几个主平台的初始化,其余平台能够参考demo里的MOBShareSDKHelper.m文件调用 点击这里
/** * ShareSDK 平台注册办法 * @param importHandler 用于设置各平台注册信息,也可在mob治理后盾进行注册 */+ (void)registPlatforms:(void(^)(SSDKRegister *platformsRegister))importHandler;
示例代码
#import <ShareSDK/ShareSDK.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) { //QQ [platformsRegister setupQQWithAppId:@"100371282" appkey:@"aed9b0303e3ed1e27bae87c33761161d" enableUniversalLink:YES universalLink:@"https://70imc.share2dlink.com/qq_conn/100371282"]; //更新到4.3.3或者以上版本,微信初始化须要应用以下初始化 [platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1" universalLink:@"https://70imc.share2dlink.com/"]; //新浪 [platformsRegister setupSinaWeiboWithAppkey:@"568898243" appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" redirectUrl: @"http://www.sharesdk.cn" universalLink:@"https://70imc.share2dlink.com/"]; }]; return YES;}
分享(share)
在我的项目须要分享的按钮事件里加以下接口:
/** * 设置分享参数 * * @param text 文本 * @param images 图片汇合,传入参数能够为单张图片信息,也能够为一个NSArray,数组元素能够为UIImage、NSString(图片门路)、NSURL(图片门路)、SSDKImage。如: @"http://www.mob.com/images/logo_black.png" 或 @[@"http://www.mob.com/images/logo_black.png"] * @param url 网页门路/利用门路 * @param title 题目 * @param type 分享类型 */- (void)SSDKSetupShareParamsByText:(NSString *)text images:(id)images url:(NSURL *)url title:(NSString *)title type:(SSDKContentType)type;/** * 分享内容 * @param platformType 平台类型 * @param parameters 分享参数 * @param stateChangedHandler 状态变更回调解决 * @return 会话 */+ (SSDKSession *)share:(SSDKPlatformType)platformType parameters:(NSMutableDictionary *)parameters onStateChanged:(SSDKShareStateChangedHandler)stateChangedHandler;
示例代码
#import <ShareSDK/ShareSDK.h> //结构分享内容 NSMutableDictionary *params = [NSMutableDictionary dictionary]; [params SSDKSetupShareParamsByText:@"test" images:[UIImage imageNamed:@"shareImg.png"] url:[NSURL URLWithString:@"http://www.mob.com/"] title:@"title" type:SSDKContentTypeAuto]; //调用分享接口分享 [ShareSDK share:SSDKPlatformTypeSinaWeibo parameters:params onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) { switch (state) { case SSDKResponseStateSuccess: NSLog(@"胜利");//胜利 break; case SSDKResponseStateFail: { NSLog(@"--%@",error.description); //失败 break; } case SSDKResponseStateCancel: //勾销 break; default: break; }}];